<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Rucio — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/rucio/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/rucio/feed.xml" rel="self" type="application/rss+xml"/><item><title>Rucio SQL Injection Vulnerability in FilterEngine PostgreSQL Query Builder</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-rucio-sqli/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-rucio-sqli/</guid><description>A SQL injection vulnerability exists in Rucio's FilterEngine.create_postgres_query, affecting versions 1.30.0 to before 35.8.5, 36.0.0 to before 38.5.5, 39.0.0 to before 39.4.2, and 40.0.0 to before 40.1.1, allowing any authenticated Rucio user to execute arbitrary SQL against the PostgreSQL metadata database via the DID search endpoint when the postgres_meta plugin is enabled, potentially leading to data modification, remote code execution, and credential theft.</description><content:encoded><![CDATA[<p>A SQL injection vulnerability has been identified in Rucio, a scientific data management framework, specifically within the <code>FilterEngine.create_postgres_query</code> function. This flaw allows any authenticated Rucio user to inject arbitrary SQL commands into the PostgreSQL metadata database if the <code>postgres_meta</code> external metadata plugin is configured. The vulnerability is located in the DID search endpoint (<code>GET /dids/&lt;scope&gt;/dids/search</code>). The vulnerable code interpolates attacker-controlled filter keys and values directly into raw SQL statements via Python <code>str.format</code>, without proper sanitization. This issue affects Rucio versions 1.30.0 to before 35.8.5, 36.0.0 to before 38.5.5, 39.0.0 to before 39.4.2, and 40.0.0 to before 40.1.1. Exploitation can lead to full database compromise, including sensitive data exfiltration, data modification, and even potential remote code execution.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the Rucio instance using any supported method (userpass, x509, OIDC, SAML, SSH, GSS).</li>
<li>The attacker crafts a malicious request to the DID search endpoint (<code>GET /dids/&lt;scope&gt;/dids/search</code>).</li>
<li>The crafted request includes specially formatted filter keys and values designed to inject SQL code.</li>
<li>Rucio&rsquo;s <code>FilterEngine.create_postgres_query</code> function processes the request and directly interpolates the attacker-controlled values into a raw SQL query.</li>
<li>The injected SQL code is executed against the PostgreSQL metadata database.</li>
<li>The attacker can then perform actions such as reading sensitive data (password hashes, tokens, account details), modifying data, or attempting remote code execution.</li>
<li>If the database user has sufficient privileges, the attacker can use PostgreSQL&rsquo;s <code>COPY ... FROM PROGRAM</code> to execute arbitrary commands on the server.</li>
<li>Successful exploitation allows the attacker to gain complete control over the Rucio metadata.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SQL injection vulnerability can have severe consequences. An attacker can modify or delete data within the Rucio metadata database, potentially disrupting scientific workflows and data management processes. Furthermore, sensitive information, such as password hashes and authentication tokens, can be extracted, leading to unauthorized access to Rucio accounts and data. In the worst-case scenario, if the PostgreSQL database user has elevated privileges, the attacker could achieve remote code execution on the server hosting the database, leading to complete system compromise. The number of affected deployments is currently unknown, but any Rucio instance utilizing the <code>postgres_meta</code> plugin is vulnerable.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Rucio to a patched version (35.8.5, 38.5.5, 39.4.2, 40.1.1 or later) to remediate CVE-2026-29090.</li>
<li>Deploy the Sigma rule &ldquo;Detect Suspicious Rucio DID Search Queries&rdquo; to identify potential exploitation attempts against the DID search endpoint.</li>
<li>Monitor Rucio logs for unusual activity related to the <code>GET /dids/&lt;scope&gt;/dids/search</code> endpoint.</li>
<li>Restrict the privileges of the PostgreSQL database user used by Rucio to the minimum necessary for its operation to mitigate potential remote code execution.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>sql-injection</category><category>cve-2026-29090</category><category>rucio</category></item></channel></rss>