All vulnerabilities

Servers and applications

GHSA-m2mm-7xvw-9623

SSRF blacklist bypass: IPv6 unspecified address :: omitted from outbound-fetch default deny list reaches loopback services

Severity
Medium 5.4
Published
12 Nov 2026
Last changed
12 Nov 2026
Added to UpHeron
12 Nov 2026
Fixed in
3.49.0
Weakness
Server-side request forgery (CWE-918)
Attack
Over the network · Needs a user account · No user action needed
Attacker can
Read some data · Change some data
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Sources
Project advisories (GitHub)

Description

Budibase routes outbound HTTP(S) requests (automation steps such as Outgoing Webhook, Zapier, n8n, Slack, Discord, plus the REST datasource, OAuth2 token fetch, query import and object-store import) through a shared allow/deny guard, fetchWithBlacklist, which rejects a target when its resolved address matches a hardcoded default deny list. That deny list blocks the IPv6 loopback address ::1/128 but omits the IPv6 unspecified address :: (::/128). Because the operating system routes an outbound connection to :: onto the IPv6 loopback, an authenticated workspace Builder/Creator who supplies a URL whose host is [::] passes the guard and reaches services bound to IPv6 loopback or to a dual-stack wildcard (for example the Budibase server on port 4001 and worker on port 4002), and the response body or error is reflected back into the step or query output. This defeats the server-side request forgery control that the deny list is meant to enforce.

From Budibase/budibase's security advisory. Shortened; the full text is there.

Affected software

SoftwareAffected versions
BudibaseServers and applications · github:budibase/budibase
  • Every version before 3.49.0

References