<?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>NocoBase Server - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/nocobase-server/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 31 Jul 2026 19:45:24 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/nocobase-server/feed.xml" rel="self" type="application/rss+xml"/><item><title>NocoBase Authenticated SQL Injection to RCE</title><link>https://feed.craftedsignal.io/briefs/2026-07-nocobase-sql-rce/</link><pubDate>Fri, 31 Jul 2026 19:45:24 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-nocobase-sql-rce/</guid><description>A critical SQL injection vulnerability in NocoBase allows authenticated attackers to achieve remote code execution on the underlying PostgreSQL container via stacked statements.</description><content:encoded><![CDATA[<p>NocoBase versions 2.0.60 and earlier contain a critical SQL injection vulnerability in the <code>/api/myInAppChannels:list</code> endpoint. The vulnerability arises because the <code>latestMsgReceiveTimestamp</code> filter parameter is unsafely interpolated into a <code>Sequelize.literal()</code> template string without proper escaping or parameter binding. Because NocoBase defaults to allowing anonymous account registration (<code>allowSignUp: true</code>), any unauthenticated attacker can create an account and access this endpoint.</p>
<p>The application utilizes the <code>pg</code> driver, which supports stacked SQL statements. Coupled with the default PostgreSQL container configuration where the <code>nocobase</code> database user is granted superuser privileges (<code>rolsuper=true</code>), an attacker can execute arbitrary system commands using the <code>COPY ... TO PROGRAM</code> syntax. This vulnerability leads to full database compromise, including sensitive data exfiltration (such as administrator password hashes) and remote code execution within the database container.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker interacts with the <code>/api/auth:signUp</code> endpoint to create a new user account, exploiting the default <code>allowSignUp: true</code> configuration.</li>
<li>Attacker performs an authentication request to <code>/api/auth:signIn</code> to obtain a valid <code>member</code> role JSON Web Token (JWT).</li>
<li>Attacker identifies the vulnerable <code>filter[latestMsgReceiveTimestamp][$lt]</code> parameter on the <code>/api/myInAppChannels:list</code> endpoint.</li>
<li>Attacker validates the injection point using a time-based oracle payload (e.g., <code>PG_SLEEP(5)</code>).</li>
<li>Attacker crafts a malicious HTTP GET request containing a stacked-statement SQL payload using <code>COPY ... TO PROGRAM</code>.</li>
<li>The backend database executes the injected command with the privileges of the <code>postgres</code> system user (uid 999).</li>
<li>Attacker achieves command execution and can exfiltrate sensitive collections or system data from the host container.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows unauthenticated attackers to gain full access to the NocoBase database. The impact includes the exfiltration of sensitive information, such as administrator credentials (stored as PBKDF2 hashes), and remote code execution within the database container, which may facilitate lateral movement or further environment compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade NocoBase to version 2.0.61 or later immediately.</li>
<li>Disable anonymous sign-ups by modifying the <code>auth-basic</code> configuration if registration is not required.</li>
<li>Review database role privileges and ensure the PostgreSQL user configured for NocoBase follows the principle of least privilege rather than running as a superuser.</li>
<li>Deploy the provided Sigma rule to detect anomalous requests to the <code>/api/myInAppChannels:list</code> endpoint.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>webserver</category><category>sql-injection</category><category>rce</category><category>authentication-bypass</category></item></channel></rss>