<?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>Npm/@Budibase/Server &lt;= 3.38.1 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/npm/@budibase/server--3.38.1/</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, 24 Jul 2026 21:21:32 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/npm/@budibase/server--3.38.1/feed.xml" rel="self" type="application/rss+xml"/><item><title>Budibase MongoDB Datasource Vulnerability Allows Server Filesystem Existence/Read Oracle</title><link>https://feed.craftedsignal.io/briefs/2026-07-budibase-file-oracle/</link><pubDate>Fri, 24 Jul 2026 21:21:32 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-budibase-file-oracle/</guid><description>A vulnerability in Budibase's MongoDB datasource configuration allows authenticated attackers to specify arbitrary absolute server-side file paths for `tlsCertificateKeyFile` and `tlsCAFile`, enabling the `/api/datasources/verify` endpoint to act as an arbitrary-path existence/read oracle on the underlying multi-tenant server, distinguishing between existing and non-existing files and potentially exfiltrating certificate content.</description><content:encoded><![CDATA[<p>A high-severity vulnerability (GHSA-ppr4-5f46-j9c6) has been identified in Budibase, a low-code platform, specifically affecting versions of <code>npm/@budibase/server</code> up to and including <code>3.38.1</code>. This flaw allows an authenticated attacker with &quot;builder&quot; privileges to exploit the MongoDB datasource configuration. When configuring a new MongoDB datasource, the <code>tlsCertificateKeyFile</code> and <code>tlsCAFile</code> fields are passed directly to the MongoDB driver as server-side file paths without proper validation or confinement. By crafting a POST request to the <code>/api/datasources/verify</code> endpoint, an attacker can supply arbitrary absolute paths (e.g., <code>/etc/passwd</code>) within these fields. The server's differential error responses (a &quot;PEM routines&quot; error for existing, readable files versus an &quot;ENOENT&quot; error for non-existent files) create an arbitrary-path existence and read oracle across the entire server filesystem, including multi-tenant cloud environments. This enables malicious actors to discover sensitive system files and potentially exfiltrate the content of certificate-related files.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An authenticated attacker with builder role accesses the Budibase application.</li>
<li>The attacker crafts a malicious POST request to the <code>/api/datasources/verify</code> endpoint.</li>
<li>The request body includes a MongoDB datasource configuration where the <code>config.tlsCertificateKeyFile</code> or <code>config.tlsCAFile</code> parameter is set to an absolute path on the server's filesystem, such as <code>/etc/passwd</code> or <code>/root/.ssh/id_rsa</code>.</li>
<li>The Budibase server processes this request, passing the attacker-controlled absolute path directly to the underlying MongoDB driver for certificate verification.</li>
<li>The MongoDB driver attempts to access the specified file on the server's filesystem.</li>
<li>Based on the filesystem's response, Budibase returns a distinct error message: a &quot;PEM routines::no start line&quot; error if the file exists and is readable but not a valid PEM certificate, or an &quot;ENOENT: no such file or directory, open '&lt;path&gt;'&quot; error if the file does not exist.</li>
<li>The attacker analyzes the returned error message to determine the existence and readability of arbitrary files, effectively using the endpoint as an information oracle.</li>
<li>If the targeted file is a certificate or PEM file, the attacker can configure the MongoDB connection string to an attacker-controlled server using mutual TLS, potentially leading to the exfiltration of the file's content.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability grants an authenticated attacker the ability to perform arbitrary-path existence and read oracle operations across the entire filesystem of the underlying multi-tenant cloud server. This allows for the discovery of sensitive server configuration files, secrets, and potentially the paths of other tenants. While not directly leading to remote code execution, the ability to confirm the existence and read parts of sensitive files like <code>/etc/passwd</code> or certificate files poses a significant information disclosure risk. In multi-tenant environments, this could lead to lateral movement or further compromise by exposing critical system details or credentials.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li><strong>Patch <code>npm/@budibase/server</code></strong>: Immediately upgrade <code>npm/@budibase/server</code> to a version greater than <code>3.38.1</code> to apply the vendor's recommended fixes.</li>
<li><strong>Implement input validation and confinement</strong>: Ensure that <code>tlsCertificateKeyFile</code> and <code>tlsCAFile</code> fields are disallowed as filesystem paths on managed/Cloud instances, or that any file references are confined to an allow-listed certificates directory and absolute/<code>..</code> paths are rejected.</li>
<li><strong>Enable web application logging</strong>: Review web server logs for POST requests to <code>/api/datasources/verify</code> that contain unexpected or absolute file paths in the request body, specifically within <code>tlsCertificateKeyFile</code> or <code>tlsCAFile</code> parameters.</li>
<li><strong>Deploy SSRF protection</strong>: Ensure that the MongoDB connection host is routed through an SSRF blacklist to prevent potential further exploitation paths, as recommended by the vendor.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>budibase</category><category>vulnerability</category><category>file-read</category><category>information-disclosure</category><category>cloud</category><category>mongodb</category><category>api</category><category>web-vulnerability</category><category>cwe-200</category></item></channel></rss>