ZeroHour

CVE-2026-61667

niche

Authenticated SQL Injection to RCE via Python eval in DIRAC FileCatalog

CVSS 3.1
9.9 critical
EPSS
Published
()
Modified
AI analysis

DIRAC, a software framework for distributed scientific computing, contains a critical flaw in DataManagementSystem/Service/FileCatalogHandler.py where the checkDataset method forwards an authenticated caller-controlled datasets value to DatasetManager.__checkDataset, which interpolates datasetName directly into an FC_MetaDatasets SQL query without parameterization. An attacker can exploit this SQL injection to control the MetaQuery value returned from the database, which is then passed to Python eval, resulting in remote command execution as the account running the DIRAC services. Successful exploitation can expose dirac.cfg, database passwords, stored proxies, and tokens, fully compromise the DIRAC system, and allow tampering with local log evidence. Any organization running an affected DIRAC version (prior to 8.0.79, 9.0.22, or 9.1.10) with an exposed FileCatalog service is impacted, though exploitation requires an authenticated account. No public proof of concept is known and the flaw is not listed in CISA's KEV, so exploitation in the wild is not currently evidenced.

What to do: Upgrade immediately to DIRAC 8.0.79, 9.0.22, or 9.1.10 depending on your release line. Restrict access to the FileCatalogHandler/checkDataset service to trusted, authenticated users until patched, and audit service logs for anomalous dataset names containing SQL fragments passed to checkDataset. If compromise is suspected, rotate all secrets in dirac.cfg (database passwords, stored proxies, and tokens) and preserve logs, since attackers can alter local log evidence.

Affected
DIRAC (distributed computing framework) DIRACAll versions prior to 8.0.79
DIRAC (distributed computing framework) DIRAC9.0.0 through 9.0.21
DIRAC (distributed computing framework) DIRAC9.1.0 through 9.1.9
Estimated exposure
nicheunknown (likely on the order of dozens to a few hundred research-computing installations) — DIRAC is specialized scientific grid middleware deployed at research laboratories and computing centers (e.g., high-energy physics collaborations) rather than consumer software, and no public install counts or internet-exposed device…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, DataManagementSystem/Service/FileCatalogHandler.py checkDataset forwards an authenticated caller-controlled datasets value to DatasetManager.py __checkDataset, where datasetName is interpolated into an FC_MetaDatasets SQL query without parameterization. The injected query can control the returned MetaQuery value, which is passed to Python eval and permits command execution as the account running the DIRAC services. Successful exploitation can expose dirac.cfg, database passwords, stored proxies, and tokens, fully compromise the DIRAC system, and allow alteration of local log evidence. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.

Weakness
CWE-89, CWE-95
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.