Detect Drupal Core SQL Injection Exploitation (CVE-2026-9082) in IBM QRadar
Detects exploitation attempts targeting CVE-2026-9082, a SQL injection vulnerability in Drupal Core. This KEV-listed vulnerability allows attackers to inject malicious SQL via crafted HTTP requests, potentially leading to unauthorized data access, credential theft, or remote code execution via stacked queries. Active exploitation has been observed in the wild.
MITRE ATT&CK
QRadar Detection Query
SELECT sourceip, destinationip, URL, 'Request Method' as method, responseCode, starttime, QIDNAME(qid) as EventName, magnitude
FROM events
WHERE LOGSOURCETYPENAME(logsourceid) IN ('Apache HTTP Server', 'Microsoft IIS', 'Nginx')
AND (URL IMATCHES '(?i).*(union\s+select|select\s+.*from|insert\s+into|drop\s+table|exec\s*\(|xp_cmdshell|information_schema|sleep\s*\(|benchmark\s*\(|waitfor\s+delay|char\s*\().*'
OR URL IMATCHES '(?i).*(--|%27|%3D%27|0x[0-9a-fA-F]+).*')
AND URL IMATCHES '(?i).*/(?:node|user|admin|api|jsonapi|views|search|comment).*'
AND LOGSOURCESTARTTIME(starttime) >= NOW() - 86400000
GROUP BY sourceip, destinationip, LOGSOURCEID(logsourceid)
ORDER BY magnitude DESC
LAST 24 HOURS QRadar AQL query detecting SQL injection patterns in URLs targeting Drupal-specific paths across Apache, IIS, and Nginx log sources, ordered by event magnitude.
Data Sources
Required Tables
False Positives & Tuning
- Authorized vulnerability assessment tools submitting SQLi payloads during scheduled scans
- Drupal-integrated search engines indexing content via URL parameters
- Internal security testing or red team operations targeting Drupal
- False matches from URL-encoded characters in legitimate multilingual content
- Monitoring or uptime tools probing Drupal API endpoints with complex parameters
Other platforms for CVE-2026-9082
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Drupal SQLi - Boolean-Based Blind Injection via Node Path
Expected signal: Web server access logs will show two requests to /node/1 with URL-encoded SQL payloads (AND 1=1 and AND 1=2). First request should return 200, second may return 200 or 404 depending on injection success. SIEM should capture both entries with decoded URI showing SQL keywords.
- Test 2Drupal SQLi - Time-Based Blind Injection via User Login
Expected signal: Web server logs capture POST to /user/login with SLEEP(5) in POST body. PHP error logs may show PDO exception. Response time of approximately 5+ seconds visible in access log timing field. Database slow query log will show the injected SLEEP query.
- Test 3Drupal SQLi - UNION-Based Schema Enumeration via JSON:API
Expected signal: Access logs show GET request to /jsonapi/node/article with UNION SELECT and information_schema in URL parameters. Response code will be 200 or 500 depending on injection success. Database logs may show the injected UNION query. PHP error logs may expose column count mismatches.
- Test 4Drupal SQLi - Error-Based Injection for Database Version Fingerprinting
Expected signal: Web server logs record GET request to /views/ajax with EXTRACTVALUE and VERSION() payloads. HTTP 500 response likely with MySQL XPATH syntax error in response body revealing database version. SIEM captures 0x hex encoding and VERSION() function in URI.
Unlock Pro Content
Get the full detection package for CVE-2026-9082 including response playbook, investigation guide, and atomic red team tests.