CVE-2026-35219: SSRF

Published Aug 14, 2026
·
Updated

Summary

Budibase automation steps (outgoing webhook, Zapier, n8n, Slack, Discord, Make.com) make server-side HTTP requests to user-provided URLs using node-fetch directly, completely bypassing the IP blacklist protection that exists in the REST API integration. Additionally, the REST API blacklist itself defaults to empty when BLACKLISTIPS is not configured.

Vulnerable Code

Automation Steps (No Blacklist)

All automation steps use fetch() directly without any IP validation:

packages/server/src/automations/steps/outgoingWebhook.ts line 69: typescript const response = await fetch(url, request) // No blacklist check

packages/server/src/automations/steps/zapier.ts line 34: typescript response = await fetch(url, {method: "post", ...}) // No blacklist check

packages/server/src/automations/steps/n8n.ts line 53: typescript response = await fetch(url, request) // No blacklist check

packages/server/src/automations/steps/slack.ts line 20: typescript response = await fetch(url, {method: "post", ...}) // No blacklist check

packages/server/src/automations/steps/discord.ts line 29: typescript response = await fetch(url, {method: "post", ...}) // No blacklist check

REST API Integration (Empty Default Blacklist)

packages/server/src/integrations/rest.ts line 684: typescript if (await blacklist.isBlacklisted(url)) { throw new Error("Cannot connect to URL.") }

But BLACKLISTIPS env var defaults to undefined, so the blacklist is empty:

packages/backend-core/src/blacklist/blacklist.ts lines 39-45: typescript if (blackListArray?.length === 0) { return false // Always passes when no IPs configured }

Impact

- Automation steps: ANY user can create automations with webhook/Zapier/n8n/Slack/Discord steps pointing to internal IPs. These completely bypass the blacklist module - REST API: Even when BLACKLISTIPS is configured, it only blocks listed IPs. Default deployments have no protection. - Cloud metadata: http://169.254.169.254/latest/meta-data/ accessible via any automation step - Internal services: Access databases, admin panels, Kubernetes API on private IPs

Remediation

1. Apply blacklist checks to ALL outbound HTTP requests, including automation steps 2. Add hardcoded default private IP ranges (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16) 3. Use a centralized HTTP client wrapper instead of direct fetch() calls 4. SSRF protection should be on by default, not opt-in via environment variable

Affected Software

1 affected componentFixes available
npm/@budibase/server<3.41.3
3.41.3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/@budibase/server to a version that resolves this vulnerability.

    Fixed in 3.41.3
  2. Configuration

    Change the default behavior so the REST API blacklist is NOT empty when BLACKLIST_IPS is not set; initialize it with the private IP ranges 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, and 169.254.0.0/16.

    Budibase REST API / SSRF blacklist (BLACKLIST_IPS) BLACKLIST_IPS default = Set default to include 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 when BLACKLIST_IPS is not configured (i.e., not undefined).
  3. Configuration

    Apply blacklist checks to ALL outbound HTTP requests, not only REST API integration. Replace direct node-fetch/fetch usage in automation steps (outgoingWebhook, zapier, n8n, slack, discord, Make.com) so they use the same centralized blacklist-protected HTTP client/wrapper used by the REST API blacklist module, instead of calling fetch() directly without IP validation.

    Budibase automation steps (outgoingWebhook, zapier, n8n, slack, discord, Make.com) Outbound HTTP request validation = Enable blacklist checks for all outbound HTTP requests.

Event History

Aug 14, 2026
Advisory Published
via GitHub·07:18 PM
Data Sourced
via GitHub·07:18 PM
DescriptionWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-35219?

CVE-2026-35219 has a severity score of 80, indicating a high level of risk.

2

How do I fix CVE-2026-35219?

To mitigate CVE-2026-35219, you should update to the latest version of the Budibase server software.

3

What kind of attack does CVE-2026-35219 enable?

CVE-2026-35219 enables Server-Side Request Forgery (SSRF) attacks by bypassing standard IP blacklisting.

4

Which software is affected by CVE-2026-35219?

CVE-2026-35219 affects the Budibase server software, specifically the npm/@budibase/server package.

5

What are the implications of CVE-2026-35219?

The implications of CVE-2026-35219 can include unauthorized access to internal services and data leakage.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203