Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain valid Rucio credentials
-
DeliveryCraft malicious DID search request with SQL injection payload
-
ExploitSend to /dids/<scope>/dids/search endpoint
-
InstallTrigger unparameterized SQL execution in FilterEngine
-
C2Extract authentication tokens or password hashes
-
ExecuteCrack SHA-256 hashes offline
-
ImpactAuthenticate as privileged user or hijack active sessions
-
Step 8Exfiltrate storage credentials and managed data identifiers
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Oracle database backend with default json_meta metadata plugin enabled (which is Rucio's default configuration). Requires valid authentication to Rucio via any supported method (userpass, x509, OIDC, SAML, SSH, GSS) - no special roles or administrative permissions needed since the DID search endpoint is accessible to all authenticated users. PostgreSQL and MySQL deployments are NOT vulnerable even with identical Rucio versions and configurations due to proper parameterization in those database drivers. Attack surface limited to network-accessible Rucio API servers, but authentication tokens can be obtained through normal user registration or institutional SSO integration. No user interaction required beyond attacker's own authenticated session. |
| Impact | Critical real-world risk confirmed by multiple signals. CVSS 4.0 score of 9.4 reflects network-accessible attack (AV:N) with low complexity (AC:L) requiring only low privileges (PR:L) and no user interaction (UI:N), with complete confidentiality, integrity, and availability impact across both vulnerable and subsequent systems (VC:H/VI:H/VA:H/SC:H/SI:H/SA:H). The authentication requirement significantly lowers the exploitation threshold since Rucio supports multiple authentication methods (userpass, x509, OIDC, SAML) accessible to any legitimate user. The combination of SQL injection, weak password hashing (single-iteration SHA-256), and Oracle's powerful PL/SQL features creates a complete compromise scenario. No EPSS score or KEV status provided in input data, and no public exploit code mentioned, suggesting discovery through responsible disclosure. However, the technical barrier is low - any authenticated user can exploit this via a standard API endpoint without special tooling. The vendor's decision to stagger patch releases across four maintained version branches (35.x, 38.x, 39.x, 40.x) indicates active support and widespread deployment. Research organizations managing petabyte-scale data are the primary targets, making data exfiltration and credential theft high-impact outcomes. This is a genuine priority for Oracle-based Rucio deployments despite absence of confirmed exploitation. |
| Exploit ScenarioDerived | An authenticated Rucio user (obtained via legitimate userpass, x509, or OIDC credentials) sends a crafted GET request to /dids/<scope>/dids/search with malicious SQL in the filter parameter (e.g., filter={'type': "' UNION SELECT password,salt FROM identities--"}). The FilterEngine interpolates this directly into sqlalchemy.text for Oracle, executing the injected UNION query. The attacker extracts all password hashes and salts, then uses GPU-based cracking against the weak SHA-256 single-iteration hashes to obtain plaintext passwords for administrative accounts, escalating to full system control. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 06, 2026
SQL injection in Rucio's DID search API allows any authenticated user to execute arbitrary SQL on Oracle database backends, enabling complete database compromise. The vulnerability affects Rucio versions 1.27.0 through 40.1.0 when deployed with Oracle databases using the default json_meta plugin. Attackers can extract authentication tokens, password hashes (SHA-256 single-iteration, GPU-crackable), storage credentials, and all managed data. Data modification and potential remote code execution via Oracle PL/SQL features are possible. Vendor-confirmed vulnerability with patches released across four version branches. PostgreSQL and MySQL deployments are not affected due to proper SQLAlchemy parameterization on those database dialects.
RemediationAI
Upgrade Rucio immediately based on your current version branch: if running 1.27.0-35.x, upgrade to 35.8.5 or later; if running 36.0-38.x, upgrade to 38.5.5 or later; if running 39.0-39.x, upgrade to 39.4.2 or later; if running 40.0-40.x, upgrade to 40.1.1 or later. Patches available via PyPI (pip install --upgrade rucio) and GitHub releases at https://github.com/rucio/rucio. If immediate patching is not feasible, implement these compensating controls with noted trade-offs: (1) Disable the DID search endpoint (GET /dids/<scope>/dids/search) at the reverse proxy/API gateway level - this breaks metadata search functionality for all users; (2) Implement strict input validation at the proxy layer allowing only alphanumeric characters in filter parameters - may break legitimate searches using special characters; (3) Rotate all authentication tokens and force password resets for all users post-patching since existing credentials may have been compromised; (4) Audit Oracle database user privileges and revoke UTL_HTTP, DBMS_SCHEDULER, and Java stored procedure execution rights if not required - reduces RCE risk but may impact legitimate database operations. Review database audit logs for suspicious JSON_VALUE/JSON_QUERY operations with unusual WHERE clauses or UNION statements as potential indicators of exploitation attempts.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Rucio is a scientific data management system used by CERN and other research organizations to manage exabyte-scale distributed datasets. The vulnerability exists in FilterEngine.create_sqla_query where user-supplied filter keys and values from the DID (Data Identifier) search endpoint are directly interpolated into sqlalchemy.text objects using Python str.format instead of parameterized queries. This is a textbook CWE-89 SQL injection where the Oracle JSON path implementation bypasses SQLAlchemy's built-in parameter binding. The affected CPE is pkg:pip/rucio across multiple version ranges. Oracle database's JSON_VALUE and JSON_QUERY functions, combined with PL/SQL capabilities, provide extensive attack surface beyond simple SELECT statements. The vulnerability is specific to Oracle's SQL dialect implementation in the json_meta metadata plugin - PostgreSQL and MySQL use properly parameterized JSONB/JSON operators that prevent injection.
Know when Python gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
Summary
A SQL injection vulnerability in the Oracle path of FilterEngine.create_sqla_query allows any authenticated Rucio user to execute arbitrary SQL against the backend database through the DID search endpoint (GET /dids/<scope>/dids/search). Attacker-controlled filter keys and values are interpolated directly into sqlalchemy.text via Python str.format, completely bypassing parameterization. This enables full database compromise including extraction of authentication tokens, password hashes, and all managed data identifiers. The vulnerability is affecting deployments using the default metadata plugin configuration json_meta with Oracle database backends.
Details
*Will follow in two weeks (2025-05-19).*
Impact
Vulnerability type: SQL Injection (CWE-89)
Who is impacted:
- All Oracle-based Rucio deployments using the default metadata plugin configuration (
json_meta). - *Not affected* are PostgreSQL/MySQL deployments using the default
json_metaplugin (SQLAlchemy parameterizes the JSON path operations via bind parameters on non-Oracle dialects).
What an attacker can do:
- Full database read access: Extract any table including
identities(password hashes and salts),tokens(active authentication sessions),accounts(user enumeration),rse_settings(storage endpoint credentials), andrules(data management policies). - Password hash extraction: Combined with Rucio's use of single-iteration SHA-256 for password hashing (no KDF), extracted hashes can be cracked at GPU speed.
- Authentication token theft: Active bearer tokens can be extracted and used for immediate session hijacking.
- Data modification: Oracle PL/SQL enables
INSERT/UPDATE/DELETEoperations via DML within subqueries and PL/SQL blocks. - Potential remote code execution: Via Oracle's
UTL_HTTP,DBMS_SCHEDULER, or Java stored procedures if the database user has elevated privileges.
Required attacker privileges: Any authenticated Rucio user. Authentication tokens can be obtained via any supported method (userpass, x509, OIDC, SAML, SSH, GSS). No special roles or administrative permissions are required. The GET /dids/<scope>/dids/search endpoint is available to all authenticated users.
Executive ViewAI
Rucio versions 1.27.0 through 40.1.0 with Oracle database backends contain a critical SQL injection vulnerability in the DID search API that allows any authenticated user to completely compromise the database, including extraction of authentication tokens, credentials, and managed data. Organizations using Rucio with Oracle databases face immediate risk of unauthorized data access and potential modification of research or operational data. Immediate patching or isolation is required.
Vendor-released patch available per advisory for affected version branches. Until patching: (1) Restrict network access to DID search API endpoints via firewall/WAF to only trusted internal systems; (2) implement database query monitoring/alerting for unusual SQL patterns on Oracle backends; (3) disable the json_meta plugin if not required; (4) rotate all database credentials, authentication tokens, and storage credentials immediately; (5) consider temporary Oracle database isolation or failover to PostgreSQL/MySQL if available in your architecture.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
EUVD-2026-27869
GHSA-vjr5-c9qv-hgm3
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB