Your RSA-2048 keys break in 2030. Find every one of them before attackers do.

CVE-2026-29080

HIGH

A SQL injection vulnerability in `FilterEngine.create_sqla_query()` allows any authenticated Rucio user to execute arbitrary SQL against the backend database through the DID search…

Published
May 6, 2026
Updated
Jun 17, 2026
Affected
0 pkgs
Patched
None yet
Exploits
None indexed

EPSS Exploitation Probability

via FIRST.org ↗
0.3%probability of exploitation in next 30 days
Lower Risk20th percentile+0.23%
0.00%0.26%0.52%0.78%0.0%0.3%Jun 26Jun 26

EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.

Description

A SQL injection vulnerability in 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). On Oracle deployments attacker-controlled filter keys and values are interpolated directly into sqlalchemy.text() via Python .format(), completely bypassing parameterization. This enables full database compromise including extraction of authentication tokens, password hashes, and all managed data identifiers. This affects versions 1.27.0 and later before 35.8.5, 38.5.5, 39.4.2, and 40.1.1.

The vulnerability exists in lib/rucio/core/did_meta_plugins/filter_engine.py within the create_sqla_query() method. When the database dialect is Oracle, filter expressions for JSON metadata columns are constructed using text() with Python string formatting. Both key and value are attacker-controlled strings derived from HTTP query parameters. The text() function creates a raw SQL fragment — it does not escape or parameterize its contents.

Any authenticated Rucio user can exploit this through the DID search API to execute arbitrary SQL against the backend database. This can expose all managed data identifiers and sensitive tables such as identities, tokens, accounts, rse_settings, and rules, and may allow modification of database contents. The issue affects Oracle deployments using the default json_meta plugin and does not affect PostgreSQL or MySQL deployments using that plugin.

This vulnerability has been fixed in versions 35.8.5, 38.5.5, 39.4.2, and 40.1.1.

Affected Products

1 product · 4 configurations
Application
ruciocern
≥ 40.0.0 && < 40.1.1
range

Detection & mitigation playbook

Vendor / appliance
  1. Detect

    Inventory every cern rucio deployment and check each version against the affected-products list above. Because the exploit targets the running system rather than your application code, also watch for exploitation at the network and runtime layer — O3 flags the exploit behaviour from runtime telemetry and egress traffic even before a vulnerable build is confirmed.

  2. Fix

    Apply the cern rucio security patch or hotfix for CVE-2026-29080 on the affected version, following the vendor advisory for your exact build.

  3. Workarounds

    Cut exposure now: restrict the management/admin interface to trusted networks, segment the device, and apply the vendor's recommended configuration mitigations and any WAF/IPS signature. O3's runtime protection blocks the exploit chain at execution, holding the line on unpatched or end-of-life systems until you can patch.

  4. How O3 protects you

    O3 detects and blocks CVE-2026-29080 exploitation at runtime: eBPF exploit-chain detection, plus L7 egress monitoring that catches the post-exploitation callback and severs the attacker's outbound channel.

Tailored to CVE-2026-29080. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.

Frequently Asked Questions

A SQL injection vulnerability in `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`). On Oracle deployments attacker-controlled filter keys and values are interpolated directly into `sqlalchemy.text()` via Python `.format()`, completely bypassing parameterization. This enables full database compromise including extraction of authentication tokens, password hashes, and all managed data identifiers. This affects versions 1.27.0 and later before 35.8.5, 38.5.5
O3 Security · Runtime Protection

Is CVE-2026-29080 being exploited in your environment?

O3's eBPF runtime sensors and L7 egress monitoring detect and block the CVE-2026-29080 exploit chain at execution — protecting unpatched and end-of-life systems until the vendor patch is applied.