Skip to main content

Rucio CVE-2026-29080

| EUVDEUVD-2026-27869 CRITICAL
SQL Injection (CWE-89)
2026-05-06 https://github.com/rucio/rucio GHSA-vjr5-c9qv-hgm3
9.4
CVSS 4.0 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
9.4 CRITICAL
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
May 06, 2026 - 18:02 EUVD
Source Code Evidence Fetched
May 06, 2026 - 17:33 vuln.today
Analysis Generated
May 06, 2026 - 17:33 vuln.today
CVSS changed
May 06, 2026 - 17:22 NVD
9.9 (CRITICAL) 9.4 (CRITICAL)

DescriptionGitHub 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_meta plugin (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), and rules (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/DELETE operations 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.

AnalysisAI

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.

Technical ContextAI

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.

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.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Share

CVE-2026-29080 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy