CVE-2026-29080: CERN Rucio SQL injection in FilterEngine DID search

CVE-2026-29080 · Severity: critical · CVSS 9.9 · Published 2026-05-06

Rucio, a scientific data management system, contains a critical security flaw in how it handles searches when using an Oracle database. An authenticated user can bypass security restrictions to view, modify, or delete any data in the system's database, including sensitive credentials and password hashes. This could lead to a total compromise of the data management platform and unauthorized access to managed storage resources.

Technologies: rucio (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-29080 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-29080 being exploited in the wild.
How severe is CVE-2026-29080?
Critical severity, with a CVSS score of 9.9, published 6 May 2026.
Which products and versions are affected?
Cern Rucio >= 1.27.0, < 35.8.5; >= 36.0.0, < 38.5.5; >= 39.0.0, < 39.4.2; >= 40.0.0, < 40.1.1; rucio (PyPI) ECOSYSTEM:introduced=1.27.0,fixed=35.8.5, ECOSYSTEM:introduced=1.27.0,fixed=35.8.5,introduced=36.0.0,fixed=38.5.5,introduced=39.0.0,fixed=39.4.2,introduced=40.0.0,fixed=40.1.1.
Is there a fix for CVE-2026-29080?
Yes. rucio (PyPI): upgrade to 35.8.5, 40.1.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-29080 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-29080?
Check whether you run Cern Rucio or rucio (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • rucio (PyPI): upgrade to 35.8.5, 40.1.1 or later
    pip install "rucio>=40.1.1"

Technical details

A SQL injection vulnerability exists in `FilterEngine.create_sqla_query` within `lib/rucio/core/did_meta_plugins/filter_engine.py`. When using the Oracle dialect, the application uses Python's `str.format` to interpolate attacker-controlled filter keys and values directly into `sqlalchemy.text()` fragments, bypassing SQLAlchemy's standard parameterization. The vulnerability is reachable via the `GET /dids/<scope>/dids/search` endpoint. An authenticated attacker can use this to perform boolean-based or time-based blind SQL injection to extract sensitive data such as session tokens and password hashes, or bypass scope-based access controls. This issue specifically affects deployments using the `json_meta` plugin with Oracle; PostgreSQL and MySQL deployments are not affected as they use proper bind parameters. Patches are available in versions 35.8.5, 38.5.5, 39.4.2, and 40.1.1.

Affected products

  • rucio rucio >= 1.27.0, < 35.8.5; >= 36.0.0, < 38.5.5; >= 39.0.0, < 39.4.2; >= 40.0.0, < 40.1.1

Identifiers

  • CVE-2026-29080
  • GHSA-vjr5-c9qv-hgm3
  • PYSEC-2026-528

Timeline

  • 2026-05-06: advisory
  • 2026-05-06: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.