CVE-2026-73618
Executive Summary
CVE-2026-73618 is a NoSQL injection vulnerability in Budibase Server versions prior to 3.40.0. The flaw resides in the MongoDB query execution endpoint where user-supplied parameters are interpolated into JSON query templates without adequate sanitization of JSON structural metacharacters. An authenticated attacker with query write permission can exploit this flaw to inject structural JSON characters, altering MongoDB queries to bypass filters and read, modify, or delete arbitrary documents within the database. With a CVSS score of 8.3 (High), the vulnerability poses a significant risk to the confidentiality and integrity of data managed by affected Budibase instances.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability exists in the Budibase Server's MongoDB query execution mechanism, as described in the NVD entry. Budibase is a low-code platform that allows users to build internal tools and applications, often backed by MongoDB or other databases. The core issue is the insecure construction of MongoDB queries when user-supplied parameters are processed.
Vulnerability Mechanism and Root Cause
The flaw is a classic NoSQL injection arising from data–code boundary confusion. The NVD description states: "user-supplied parameters are interpolated into JSON query templates without proper sanitization of JSON metacharacters." This indicates that the application constructs MongoDB query filters by embedding user input directly into a JSON template, likely using string concatenation or template literals before passing the resulting object to the MongoDB driver.
In a MongoDB query, certain JSON structural characters such as {, }, $, [, ], and " have semantic meaning to the query engine. For instance, the $where operator can execute arbitrary JavaScript, $ne (not equal) can be used to negate filter conditions, and $gt/$lt can be used for range-based overrides. If an attacker can insert these characters into the query template, they can alter the logical structure of the query.
Attack Surface and Prerequisites
The exploitation prerequisite is that an attacker must have "query write permission" within the Budibase application. This implies the attacker is an authenticated user with permissions to create, modify, or execute database queries—likely through the Budibase builder interface or an exposed query API. The attack surface is therefore the query execution endpoint, which is a network-accessible API that interpolates user input into MongoDB query templates.
Code-Level Analysis
While specific implementation details (function names, API paths) are not available in the public description, the mechanism can be understood at a class level. The process likely resembles:
- The application receives a query request containing filter parameters (e.g.,
{ "name": "<user_input>" }). - The user input is inserted directly into a pre-defined JSON query template.
- The resulting string is parsed into a JSON object and passed to the MongoDB driver for execution.
If an attacker inputs a value such as "value", "$ne": "" or includes additional JSON objects, the parsed query may become { "name": "value", "$ne": "" }, which alters the filter semantics. More dangerously, the attacker could inject {"$where": "function() { ... }"} to achieve arbitrary code execution on the MongoDB server, though this is not explicitly stated in the NVD description.
Insufficient Technical Detail
The NVD description does not provide the exact function names, URL endpoints, or parameter names involved. Therefore, this report cannot specify the precise HTTP request structure or code snippets of the vulnerable function. The analysis above is based on the vulnerability class—NoSQL injection via unsanitized JSON metacharacters—as disclosed.
Exploitation Scenarios
Prerequisites and Attack Chain
The attack chain for CVE-2026-73618 is as follows:
Reconnaissance and Target Identification: An attacker identifies a Budibase Server instance, version < 3.40.0, that is publicly accessible. The attacker may use Shodan or other internet-wide scanning to identify Budibase installations (e.g.,
http.title:"Budibase"orhttp.favicon.hash:"..."). The attacker then enumerates users with low-privilege credentials, possibly via default credentials, phishing, or brute-force attacks, to obtain an account with "query write permission."Triggering the Vulnerability: Using the authenticated session, the attacker accesses the query execution interface. This could be a specific API endpoint that accepts user-supplied filter criteria and generates a MongoDB query. The attacker crafts a malicious input containing JSON structural characters designed to break out of the sanitized context.
Payload and Execution Method: At the vulnerability-class level, the attacker injects MongoDB query operators. For example, to bypass a filter, the attacker might submit a value like:
{"$ne": ""}or{"$gt": ""}in a field comparison. This causes the generated query to include an operator that negates the intended filter. For data extraction, the attacker could use the$regexoperator to perform pattern matching and extract data field by field. For modification, the attacker could inject into an update filter to expand the set of documents affected, potentially performing mass updates. For deletion, the attacker could craft a query that matches all documents in a collection and then issue a delete operation. In a worst-case scenario, the attacker could attempt to inject the$whereoperator to execute arbitrary JavaScript, though this is not explicitly confirmed in the NVD description and is generally restricted in modern MongoDB deployments.Post-Exploitation Impact: Upon successful injection, the attacker can read arbitrary documents, including sensitive user data, application secrets, or internal configuration records. The attacker can modify documents, potentially altering application logic, granting themselves elevated privileges, or corrupting data integrity. The attacker can also delete documents, causing data loss and potential denial-of-service against the application.
PoC Status and Real-World Exploitation
No public proof-of-concept or exploit code has been observed for this CVE at the time of writing. The attack chain described above is inferred from the vulnerability class and standard NoSQL injection techniques. No evidence exists of exploitation in the wild or linked threat actor campaigns.
Impact Assessment
The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L) reveals a severity rating of 8.3 (High). Key subscores:
- Attack Vector: Network (AV:N) — The vulnerability is exploitable remotely over the network.
- Attack Complexity: Low (AC:L) — No specialized conditions are required, although authentication is needed.
- Privileges Required: Low (PR:L) — The attacker needs low-level authenticated access (query write permission).
- User Interaction: None (UI:N) — No victim interaction is required.
- Confidentiality Impact: High (C:H) — The attacker can read arbitrary database documents.
- Integrity Impact: High (I:H) — The attacker can modify or delete arbitrary documents.
- Availability Impact: Low (A:L) — The attacker may cause data deletion, degrading availability, but not directly take down the server.
Business Impact
Affected organizations use Budibase to build internal tools that often process sensitive business data. The ability to read, modify, and delete arbitrary documents exposes the core data layer. This can result in:
- Data Breach: Exposure of personally identifiable information (PII), financial records, intellectual property, or credentials.
- Data Integrity Loss: Modification of business-critical records, potentially leading to incorrect decisions, fraud, or operational disruption.
- Data Destruction: Deletion of documents, causing application malfunction and requiring data recovery efforts.
- Compliance Violations: Failure to protect data may breach GDPR, HIPAA, or PCI DSS obligations, leading to fines and reputational damage.
Blast Radius
The vulnerability affects installations of Budibase Server before version 3.40.0. The blast radius is limited to the MongoDB database connection used by the Budibase instance. However, if the Budibase application has connectivity to other internal systems or databases, the attacker could potentially pivot from the compromised query execution to other parts of the network, though this is not explicitly covered by the NVD description.
Detection Guidance
The following detection rules should be tuned to the specific environment's logging and monitoring capabilities.
Sigma Rule
title: Budibase NoSQL Injection Attempt via Query Parameter (CVE-2026-73618)
status: experimental
description: Detects attempts to exploit a NoSQL injection vulnerability in Budibase Server by monitoring for MongoDB query-related log entries containing suspicious JSON operators.
logsource:
product: application
service: budibase
detection:
selection_query:
event.category: query
event.action: query_execution
selection_operators:
# Match on common NoSQL injection operators
- 'params.query|contains': '$ne'
- 'params.query|contains': '$gt'
- 'params.query|contains': '$regex'
- 'params.query|contains': '$where'
- 'params.query|contains': '{"$'
condition: selection_query and selection_operators
level: high
falsepositives:
- Legitimate use of MongoDB operators in advanced queries by authorized users
tags:
- attack.initial_access
- attack.t1190
- cve.2026.73618
- cwe.943
YARA Rule
rule budibase_nosql_injection_cve_2026_73618
{
meta:
description = "Detects strings commonly used in NoSQL injection payloads targeting Budibase Server"
author = "Valterits Threat Intelligence"
date = "2026-01-01"
reference = "CVE-2026-73618"
severity = "high"
strings:
$op_ne = "{\"$ne\":"
$op_gt = "{\"$gt\":"
$op_regex = "{\"$regex\":"
$op_where = "{\"$where\":"
$curly_braces = /[{}]/
$json_array = /\[.*\]/
condition:
// Look for suspicious operator strings in the request body or log text
(any of ($op_*) or ($curly_braces and any of ($json_array)))
// Reduce false positives by requiring proximity to typical query parameters if such context exists
and filesize < 10MB
}
Note: The YARA rule is designed to be used on HTTP request bodies or application log files that capture the query payload.
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-73618 - Budibase NoSQL Injection Attempt"; flow:to_server,established; content:"*"; http_uri; pcre:"/(\%7B|\{)(\%24|.)*(\$ne|\$gt|\$regex|\$where)/i"; sid:202673618; rev:1; reference:cve,2026-73618; classtype:attempted-admin; metadata:created_at 2026-01-01, updated_at 2026-01-01;)
Elastic Detection
// EQL for detecting Budibase NoSQL injection attempts
sequence by process.entity_id with maxspan=5m
[network where process.name == "node" and destination.port == 443 and
http.request.body.text : "*{$ne*"]
[network where process.name == "node" and destination.port == 443 and
http.request.body.text : "*$gt*" or http.request.body.text : "*$regex*" or
http.request.body.text : "*$where*"]
Splunk SPL Query
index=web sourcetype=access_combined or index=applications sourcetype=budibase_logs
| search "query_execution" OR "api/query"
| regex _raw="(\{\s*\"?\$ne|\\\"?$ne|\\$gt|\\$regex|\\$where)"
| stats count by src_ip, host, user, uri_path
| where count > 5
Wazuh OSSEC Rule
<rule id="422359" level="12">
<decoded>json</decoded>
<field name="event.action">query_execution</field>
<regex>(\"\$ne\"|\"\$gt\"|\"\$regex\"|\"\$where\")</regex>
<description>Budibase NoSQL injection attempt detected (CVE-2026-73618)</description>
<group>budibase,nosql_injection,attack.t1190,</group>
<mitre>
<id>T1190</id>
</mitre>
</rule>
Mitigation & Patch Guidance
Patch Confidence: 0/4 — UNPATCHED. No vendor advisory or fix has been identified from any tracked source. The vendor has not yet released a version addressing this vulnerability, and the "Affected Versions" list is empty, indicating an incomplete picture of the vulnerability scope.
Given the lack of a patch, the following mitigations are recommended:
Immediate Mitigations (Compensating Controls):
- Restrict Query Write Permissions: Disable "query write permission" for all non-administrative users. Review user roles and ensure only trusted administrators can execute custom queries. This directly removes the attack precondition.
- Network Segmentation: Place Budibase Server and its MongoDB backend behind a firewall or in a private subnet. Restrict access to the query execution endpoint to a limited set of trusted IP addresses via a honeypot or access control list (ACL).
- Web Application Firewall (WAF): Deploy a WAF or reverse proxy in front of Budibase Server with rules to inspect and block requests containing known NoSQL injection patterns (e.g.,
$ne,$gt,$regex). This is a stop-gap measure, as WAF rules may be bypassed with encoded payloads. - Input Validation: Although no patch exists, developers can modify the Budibase deployment to add input validation on the query endpoint, rejecting any values containing
$characters or JSON structural characters like{,},[,]. This is a manual code change and should be tested thoroughly.
Patch/Upgrade Steps:
- Monitor the official Budibase GitHub repository and security advisories for an updated release (likely 3.40.0 or later) that addresses this CVE. Once available, upgrade to the patched version immediately.
- In the interim, consider downgrading or pinning the Budibase Server version to a known-safe configuration if network segmentation or access restrictions are insufficient.
- Test the upgrade in a staging environment before applying it to production, and ensure a rollback plan exists.
Long-Term Hardening:
- Implement a formal patch management policy for all third-party software, with a defined SLA for security-critical updates.
- Enforce least-privilege principles across all application users, including query execution permissions.
- Enable comprehensive audit logging for all query execution activities, and integrate these logs into a SIEM for continuous monitoring.
- Educate developers on secure coding practices, specifically regarding NoSQL query construction—always use parameterized queries or the MongoDB driver's built-in query builder instead of string interpolation.
- Perform regular security reviews and penetration tests against Budibase instances to identify similar vulnerabilities before attackers do.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-73618
- Budibase Official Site: https://www.budibase.com/ — Monitor for vendor advisories and update announcements.
- Budibase GitHub Repository: https://github.com/Budibase/budibase — Check for commits, issues, or PRs referencing this CVE or the fix version.
- CWE-943 — Improper Neutralization of Special Elements in Data Query Logic: https://cwe.mitre.org/data/definitions/943.html
- MITRE ATT&CK Technique T1190 — Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/
Threat Actor Campaigns and Exploit-in-the-Wild Evidence: As of this report, there is no evidence of active exploitation of CVE-2026-73618 in the wild, and no threat actor campaigns have been attributed to it. The CVE is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.