CVE-2026-29090
Description
### Summary A SQL injection vulnerability exists in Rucio versions 1.30.0 and later before 35.8.5, 38.5.5, 39.4.2, and 40.1.1, in `FilterEngine.create_postgres_query()`. This allows any authenticated Rucio user to execute arbitrary SQL against the PostgreSQL metadata database through the DID search endpoint (`GET /dids/<scope>/dids/search`). When the `postgres_meta` metadata plugin is configured, attacker-controlled filter keys and values are interpolated directly into raw SQL strings via Python `.format()`, then passed to `psycopg3`'s `sql.SQL()` which treats the string as trusted SQL syntax. Depending on the database privileges assigned to the service account, exploitation can expose sensitive tables, modify or delete metadata, access server-side files, or achieve code execution through PostgreSQL features such as COPY ... FROM PROGRAM. This issue affects deployments that explicitly use the postgres_meta metadata plugin. This vulnerability has been fixed in versions 35.8.5, 38.5.5, 39.4.2, and 40.1.1.
How to fix
- cern rucio35.8.5, 38.5.5, 39.4.2, 40.1.1 or later
- rucio35.8.5, 38.5.5, 39.4.2, 40.1.1 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| cern rucio | 1.30.0 ≤ v < 35.8.5, 36.0.0 ≤ v < 38.5.5, 39.0.0 ≤ v < 39.4.2, 40.0.0 ≤ v < 40.1.1 | 35.8.5, 38.5.5, 39.4.2, 40.1.1 |
| rucioPyPI | 1.30.0 ≤ v < 35.8.5, 36.0.0 ≤ v < 38.5.5, 39.0.0 ≤ v < 39.4.2, 40.0.0 ≤ v < 40.1.1 | 35.8.5, 38.5.5, 39.4.2, 40.1.1 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.