drupal/block_ajax — security advisory
The Block AJAX module enables you to load blocks asynchronously via Ajax. The module doesn't sufficiently validate user-supplied data which is used to construct a block. In the worst case scenario, this can lead to PHP Object Injection and Remote Code Execution. The vulnerability is mitigated by the fact that it only affects sites that have Layout Builder enabled (or another block plugin that handles the data this module passes to it in a potentially unsafe way). Please see the release notes for details of potentially breaking changes.
- Products
- drupal/block_ajax
- Affected versions
- Not specified
- Fixed versions
- 3.0.2
- CVEs
- CVE-2026-107249
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 28 Oct 2026, 08:47 UTC · Revision 1
Source evidence
The Block AJAX module enables you to load blocks asynchronously via Ajax. The module doesn't sufficiently validate user-supplied data which is used to construct a block. In the worst case scenario, this can lead to PHP Object Injection and Remote Code Execution. The vulnerability is mitigated by the fact that it only affects sites that have Layout Builder enabled (or another block plugin that handles the data this module passes to it in a potentially unsafe way). Please see the release notes for details of potentially breaking changes.
osv:DRUPAL-CONTRIB-2026-192
drupal/block_ajax
Fixed versions: 3.0.2
Complete source record
{
"id": "3d39a090f4fb8566937329d1fdf4e91f119f281b1dc29905785c0e62d8dd995c",
"url": "https://osv.dev/vulnerability/DRUPAL-CONTRIB-2026-192",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DRUPAL-CONTRIB-2026-192",
"summary": "The Block AJAX module enables you to load blocks asynchronously via Ajax. The module doesn't sufficiently validate user-supplied data which is used to construct a block. In the worst case scenario, this can lead to PHP Object Injection and Remote Code Execution. The vulnerability is mitigated by the fact that it only affects sites that have Layout Builder enabled (or another block plugin that handles the data this module passes to it in a potentially unsafe way). Please see the release notes for details of potentially breaking changes.",
"evidence": "osv:DRUPAL-CONTRIB-2026-192",
"products": [
{
"name": {
"value": "drupal/block_ajax",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.0.2",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "DRUPAL-CONTRIB-2026-192",
"aliases": [
"CVE-2026-107249",
"DRUPAL-CONTRIB-2026-192"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.2"
}
],
"database_specific": {
"constraint": "<3.0.2"
}
}
],
"package": {
"name": "drupal/block_ajax",
"purl": "pkg:composer/drupal/block_ajax?repository_url=https:%2F%2Fpackages.drupal.org%2F8",
"ecosystem": "Packagist:https://packages.drupal.org/8"
},
"database_specific": {
"source": "https://github.com/DrupalSecurityTeam/drupal-advisory-database/blob/main/advisories/block_ajax/DRUPAL-CONTRIB-2026-192.json",
"affected_versions": "<3.0.2"
}
}
],
"modified": "2026-10-07T20:28:17Z",
"provider": "osv",
"references": [
"https://www.drupal.org/sa-contrib-2026-192"
]
},
"related_cves": [
{
"value": "CVE-2026-107249",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 97225,
"published_at": "2026-10-07T16:14:51+00:00"
}