CVE-2026-9082 Microsoft Sentinel · KQL

Detect Drupal Core SQL Injection Exploitation (CVE-2026-9082) in Microsoft Sentinel

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

Tactic
Initial Access Credential Access Lateral Movement

KQL Detection Query

Microsoft Sentinel (KQL)
kusto
union W3CIISLog, AppServiceHTTPLogs
| where TimeGenerated > ago(7d)
| where csUriQuery has_any ("UNION", "SELECT", "INSERT", "DROP", "UPDATE", "DELETE", "EXEC", "CAST(", "CONVERT(", "CHAR(", "CONCAT(", "0x", "--", "/*", "*/")
| where csUriStem has_any ("/node", "/user", "/admin", "/api", "/jsonapi", "/views")
| where scStatus in (200, 301, 302, 500, 403)
| extend DecodedQuery = url_decode(csUriQuery)
| extend SQLPatterns = extract_all(@"(?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)", DecodedQuery)
| where array_length(SQLPatterns) > 0
| project TimeGenerated, cIP, csHost, csUriStem, csUriQuery, DecodedQuery, SQLPatterns, scStatus, csUserAgent, csMethod
| summarize AttackCount=count(), Methods=make_set(csMethod), StatusCodes=make_set(scStatus), Paths=make_set(csUriStem) by cIP, bin(TimeGenerated, 5m)
| where AttackCount > 1
| sort by AttackCount desc
critical severity high confidence

Detects SQL injection patterns in HTTP query strings targeting common Drupal URL paths, using IIS and App Service HTTP logs. Aggregates attempts per source IP within 5-minute windows.

Data Sources

W3CIISLogAppServiceHTTPLogsAzureDiagnostics

Required Tables

W3CIISLogAppServiceHTTPLogs

False Positives & Tuning

  • Security scanners or vulnerability assessment tools running authorized scans against Drupal instances
  • Penetration testing activities with SQL injection payloads in query parameters
  • Legitimate applications using URL parameters that contain SQL-like keywords (e.g., column names with 'select' in descriptive text)
  • WAF testing or red team exercises generating SQLi patterns
  • Search functionality that may include SQL reserved words in user queries

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Last updated: 2026-06-19 Research depth: standard
References (2)

Unlock Pro Content

Get the full detection package for CVE-2026-9082 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections