CVE-2026-29080
Received Received - Intake
SQL Injection in Rucio via FilterEngine

Publication date: 2026-05-06

Last updated on: 2026-05-06

Assigner: GitHub, Inc.

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-06
Last Modified
2026-05-06
Generated
2026-05-07
AI Q&A
2026-05-06
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 5 associated CPEs
Vendor Product Version / Range
rucio rucio From 1.27.0 (inc) to 35.8.5 (exc)
rucio rucio 35.8.5
rucio rucio 38.5.5
rucio rucio 39.4.2
rucio rucio 40.1.1
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a SQL injection in the Rucio software, specifically in the method FilterEngine.create_sqla_query(). It allows any authenticated user to execute arbitrary SQL commands on the backend Oracle database through the DID search endpoint.

The issue arises because attacker-controlled filter keys and values are directly inserted into a raw SQL fragment using Python string formatting without proper parameterization or escaping. This happens only on Oracle database deployments using the default json_meta plugin.

Exploiting this vulnerability can lead to full database compromise, including extraction of sensitive information such as authentication tokens, password hashes, and all managed data identifiers.


How can this vulnerability impact me? :

If exploited, this vulnerability can allow an authenticated user to execute arbitrary SQL commands on the backend Oracle database, leading to a full compromise of the database.

  • Extraction of authentication tokens and password hashes.
  • Access to all managed data identifiers.
  • Exposure of sensitive tables such as identities, tokens, accounts, rse_settings, and rules.
  • Potential modification or deletion of database contents.

What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, you should upgrade Rucio to a fixed version. The vulnerability has been fixed in versions 35.8.5, 38.5.5, 39.4.2, and 40.1.1.

If upgrading immediately is not possible, restrict access to the DID search endpoint to trusted users only, and monitor for unusual database activity, especially on Oracle deployments using the default json_meta plugin.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This SQL injection vulnerability allows authenticated users to execute arbitrary SQL commands on the backend database, potentially exposing sensitive data such as authentication tokens, password hashes, and all managed data identifiers.

Such exposure and potential unauthorized access to sensitive personal and authentication data could lead to non-compliance with data protection regulations and standards like GDPR and HIPAA, which require strict controls over access to personal and sensitive information.

Therefore, exploitation of this vulnerability could result in violations of confidentiality, integrity, and availability requirements mandated by these regulations.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart