{"cve":"CVE-2026-29090","nvd":{"published":"2026-05-06T18:16:02.953","modified":"2026-06-17T10:29:34.903","status":"Analyzed","description":"### Summary\n\nA 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. \n\nDepending 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.","cvss_v4":{"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","score":9.0},"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":8.8},"cwes":["CWE-89"],"references":["https://github.com/rucio/rucio/security/advisories/GHSA-6j7p-qjhg-9947"],"products":["cern:rucio"],"source":"nvd","synced_at":"2026-10-19T22:33:55.586217763+00:00"},"epss":{"cve":"CVE-2026-29090","score":0.00301,"percentile":0.22867,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-6j7p-qjhg-9947","url":"https://osv.dev/vulnerability/GHSA-6j7p-qjhg-9947","summary":"Rucio has SQL Injection in FilterEngine PostgreSQL Query Builder via DID Search API","modified":"2026-06-30T16:45:17.925520051Z","packages":[{"ecosystem":"PyPI","name":"rucio","purl":"pkg:pypi/rucio","ranges":[">=1.30.0 <35.8.5"],"fixed":["35.8.5"]},{"ecosystem":"PyPI","name":"rucio","purl":"pkg:pypi/rucio","ranges":[">=36.0.0 <38.5.5"],"fixed":["38.5.5"]},{"ecosystem":"PyPI","name":"rucio","purl":"pkg:pypi/rucio","ranges":[">=39.0.0 <39.4.2"],"fixed":["39.4.2"]},{"ecosystem":"PyPI","name":"rucio","purl":"pkg:pypi/rucio","ranges":[">=40.0.0 <40.1.1"],"fixed":["40.1.1"]}]},{"id":"PYSEC-2026-527","url":"https://osv.dev/vulnerability/PYSEC-2026-527","summary":"Rucio has SQL Injection in FilterEngine PostgreSQL Query Builder via DID Search API","modified":"2026-07-02T13:00:06.505900329Z","packages":[{"ecosystem":"PyPI","name":"rucio","purl":"pkg:pypi/rucio","ranges":[">=1.30.0 <35.8.5",">=36.0.0 <38.5.5",">=39.0.0 <39.4.2",">=40.0.0 <40.1.1"],"fixed":["35.8.5","38.5.5","39.4.2","40.1.1"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}