CVE intelligence and bounded remediation
CVE-2026-29080 — Cern Rucio security vulnerability
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…
- Severity
- Critical
- CVSS
- 9.4 (4.0)
- Published
- 2026-05-06
- CISA KEV
- Not currently listed
- Ecosystem
- python/pypi
- Weaknesses
- CWE-89
Affected products
- cern / rucio
Matched remediation archetype
SQL and data-query injection
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Trace request, message, file, and stored values into SQL, ORM query fragments, filters, sort expressions, and other data-query languages.
- Inventory database roles, reachable schemas, multi-tenant boundaries, and whether stacked or administrative operations are enabled.
- Check both direct queries and second-order use of previously stored values.
Remediate safely
- Use parameterized queries or safe query builders for all values; map identifiers and operators through explicit allowlists.
- Remove raw query concatenation and give the application account only the tables and operations it requires.
- Update affected data-access components and add regression tests for query structure preservation with inert edge-case inputs.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.