Skip to main content

Budibase CVE-2026-73410

| EUVDEUVD-2026-60380 HIGH
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-08-17 GitHub_M GHSA-v42f-v8xc-j435
8.5
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
8.5 HIGH

DNS rebinding requires attacker-controlled infrastructure and precise timing (AC:H); builder-level authentication is mandatory (PR:L); internal service access constitutes a scope change (S:C) with full C/I/A impact on cloud credentials and datastores.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Patch available
Aug 17, 2026 - 22:03 EUVD
Source Code Evidence Fetched
Aug 17, 2026 - 20:49 vuln.today
Analysis Generated
Aug 17, 2026 - 20:49 vuln.today
CVE Published
Aug 17, 2026 - 20:27 cve.org
HIGH 8.5

DescriptionCVE.org

Budibase is an open-source low-code platform. Prior to 3.40.0, packages/backend-core/src/utils/outboundFetch.ts pinned a validated address through a Node agent, but the REST integration used getDispatcher from packages/backend-core/src/utils/fetch.ts, causing undici to ignore that agent and resolve the hostname again. A builder could use DNS rebinding to make packages/server/src/integrations/rest.ts connect to an internal address after a public address passed validation, with full response access and arbitrary REST methods. The fix adds createPinnedLookup support to the undici dispatcher and passes the validated address to custom fetch implementations. This issue is fixed in version 3.40.0.

AnalysisAI

SSRF via DNS rebinding in Budibase's REST datasource integration (versions prior to 3.40.0) lets an authenticated builder or tenant bypass the outbound-fetch IP blacklist by exploiting a TOCTOU gap between hostname validation and undici's independent DNS re-resolution at connection time. Because the REST integration overrides the transport with undici's fetch, the validated Node.js agent pin established by the prior CVE-2026-54353 fix is silently ignored, leaving the single most-used outbound path in Budibase unprotected. An attacker who can configure a REST datasource can reach cloud instance-metadata endpoints to steal IAM credentials, or read from and write to internal services such as CouchDB, Redis, and MinIO with full HTTP method and response access. No public exploit has been identified at time of analysis.

Technical ContextAI

Budibase's central outbound-fetch guard (fetchWithBlacklist in packages/backend-core/src/utils/outboundFetch.ts) resolves a target hostname, validates every resolved IP against an SSRF blacklist, and pins the validated address into a custom Node.js http.Agent/https.Agent via makePinnedAgent, whose overridden lookup function always returns the vetted IP. This pin was the core of the CVE-2026-54353 fix. The REST datasource integration (packages/server/src/integrations/rest.ts) overrides the fetch transport with undici's fetch, which does not honour the Node agent option - it is silently dropped. Undici instead uses its own dispatcher (via getDispatcher), which performs a completely independent DNS resolution at connection time. This creates a textbook CWE-367 (Time-of-check Time-of-use) race: the check phase resolves the hostname and validates the IP, while the use phase re-resolves it through an entirely separate code path with no memory of the validated address. An attacker who controls their domain's DNS TTL can serve a public IP during the check phase and switch to an internal RFC-1918 or link-local address (e.g., 169.254.169.254) before the undici dispatcher connects. The fix introduces createPinnedLookup as an exported function and threads the validated IP into a custom undici dispatcher so both Node-fetch and undici paths receive a pinned lookup. The affected CPE is cpe:2.3:a:budibase:budibase:*:*:*:*:*:*:*:* for all versions prior to 3.40.0.

RemediationAI

Upgrade Budibase to version 3.40.0 or later, which exports createPinnedLookup from outboundFetch.ts and passes the validated IP into undici's custom dispatcher so both transport paths use the same pinned address, closing the TOCTOU window. The fix commit is 5758bdb242802ca20c4ed0dc579e4330ee898ef3 and the vendor advisory is at https://github.com/Budibase/budibase/security/advisories/GHSA-v42f-v8xc-j435; note that the GHSA package record shows 'fixed in: None' for npm/@budibase/server <= 3.38.1, which conflicts with the CVE description citing 3.40.0 - verify the exact patched release against the official npm registry before deploying. If an immediate upgrade is not feasible, restrict the builder and tenant roles so that only fully trusted internal users can configure or execute REST datasources, as this removes the low-privilege account vector the attack depends on. As a network-layer compensating control, configure egress firewall rules or cloud security groups to block outbound HTTP/HTTPS from the Budibase server process to RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and the link-local metadata address (169.254.169.254); be aware that this will also block any legitimate REST datasources that intentionally target internal endpoints. For cloud deployments specifically, blocking or null-routing 169.254.169.254 at the hypervisor or VPC level provides a high-value, low-disruption mitigation for the credential-theft vector.

CVE-2026-27702 CRITICAL POC
9.9 Feb 25

Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal

CVE-2026-73300 CRITICAL POC
9.6 Aug 12

SQL injection in Budibase's MySQL integration (all versions prior to 3.40.0) lets attackers execute arbitrary, stacked S

CVE-2026-31816 CRITICAL POC
9.1 Mar 09

Authorization bypass in Budibase 3.31.4 and earlier. The authorized() middleware can be bypassed, enabling injection att

CVE-2026-25040 HIGH POC
8.8 Jan 29

Budibase is a low code platform for creating internal tools, workflows, and admin panels. [CVSS 8.8 HIGH]

CVE-2026-73406 HIGH POC
7.5 Aug 12

Unauthenticated user enumeration and metadata disclosure in Budibase prior to 3.39.32 exposes tenant identifiers, email

CVE-2026-31818 CRITICAL
9.9 Apr 03

Server-Side Request Forgery (SSRF) in Budibase's REST datasource connector (versions prior to 3.33.4) allows authenticat

CVE-2026-73308 MEDIUM POC
5.7 Aug 12

OAuth2 access and refresh token theft in Budibase's automation testing pipeline exposes SSO-authenticated builder creden

CVE-2022-3225 MEDIUM POC
5.7 Sep 16

Improper Control of Dynamically-Managed Code Resources in GitHub repository budibase/budibase prior to 1.3.20. Rated med

CVE-2026-30240 CRITICAL
9.6 Mar 09

Path traversal in Budibase low-code platform 3.31.5 and earlier allows attackers to read arbitrary files through the app

CVE-2026-82244 CRITICAL
9.4 Aug 28

Remote code execution in Budibase self-hosted server before 3.41.3 lets authenticated administrators run arbitrary JavaS

CVE-2026-73306 MEDIUM POC
5.3 Aug 12

Account enumeration and targeted denial-of-service in Budibase prior to 3.39.25 stem from an observable response discrep

CVE-2026-100684 CRITICAL
9.2 Sep 26

Unauthenticated account takeover of pending invited users in Budibase Server (@budibase/server) versions 3.41.0 through

Share

CVE-2026-73410 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy