Last Updated: 2026-05-27T17:47:38Z
What’s Happening
CVSSv3: 9.8
CVE-2026-9082 is a critical SQL injection vulnerability in Drupal Core’s database abstraction API, specifically affecting the PostgreSQL EntityQuery condition handler. The vulnerability was disclosed by Drupal on 2026-05-20T07:00:00Z (advisory SA-CORE-2026-004) and added to CISA’s Known Exploited Vulnerabilities (KEV) catalog on 2026-05-22T07:00:00Z.
Affected Versions:
| Branch | Vulnerable Range |
|---|---|
| 8.x | 8.9.0 – 10.4.10 (excluding) |
| 10.5.x | 10.5.0 – 10.5.10 (excluding) |
| 10.6.x | 10.6.0 – 10.6.9 (excluding) |
| 11.0.x | 11.0.0 – 11.1.10 (excluding) |
| 11.2.x | 11.2.0 – 11.2.12 (excluding) |
| 11.3.x | 11.3.0 – 11.3.10 (excluding) |
Technical Root Cause: The vulnerability stems from improper neutralization of attacker-controlled input in JSON: API filter parameter keys (not just values). PHP’s parser allows attackers to control array keys in query strings, which bypass sanitization logic and reach the PostgreSQL backend as arbitrary SQL. Common trigger points include the JSON:API core module, Views exposed filters, and Entity autocomplete endpoints.
Potential Impact: Information disclosure, privilege escalation, and potentially remote code execution depending on site configuration.
Actions
Upgrade to the following fixed versions as soon as possible:
11.3.1011.2.1211.1.1010.6.910.5.1010.4.10
EOL Branches (Drupal 8.9.x and 9.5.x):
Drupal has published best-effort manual patches for these unsupported branches. Note that these releases may still contain other previously disclosed security issues.
If Patching Isn’t Possible:
- Inventory all Drupal installations and verify backend database type (PostgreSQL vs. MySQL/MariaDB)
- Restrict access to
/jsonapi/endpoints — review if internet exposure is necessary - Deploy WAF rules — Akamai, CrowdSec, and other WAF providers have released detection rules
- Monitor logs for suspicious activity on database-driven endpoints, especially crafted
filter[...]parameters containing operators like||, backticks, or time-delay expressions - Prioritize public-facing sites accepting anonymous traffic
Hunting
Public exploits/tests reliably use the [operator]=IN pattern in reconnaissance to identify the vulnerability, and JSON patterns such as {"name":{"0":"x","0||1/(SELECT CASE WHEN (1=1) in POST requests to /user/login?format=json.
Notes
Drupal 7 is not affected because it does not include the JSON:API module.
Non-PostgreSQL sites should still update. While the SQLI vector is PostgreSQL-specific, the security release includes bundled Symfony and Twig fixes that apply to all deployments.