VulnWatch VulnWatch
← Back to dashboard
Medium github · GHSA-hfhx-w8p8-4hc7

Budibase: SSRF via bare fetch() in uploadUrl during AI table generation

Published Jul 24, 2026 CVSS 0.0

Budibase: SSRF via bare fetch() in uploadUrl during AI table generation

Summary

The uploadUrl() function in packages/server/src/utilities/fileUtils.ts uses a bare fetch(url) call without any SSRF protection. This function is invoked when the AI table generation feature processes LLM-generated attachment column values that are strings (URLs).

A builder-level user can craft prompts that cause the LLM to generate internal IP addresses or cloud metadata endpoints as attachment URLs. When generateRows() calls processAttachments(), these URLs are fetched server-side without blacklist validation, allowing the attacker to reach internal services, cloud metadata APIs (169.254.169.254), or other network-internal resources.

This is a variant of the same class of issue addressed in other Budibase code paths where fetchWithBlacklist() is correctly used to prevent SSRF.

Affected Versions

Affected AI Products

llm
Get the weekly digest. Every Monday: top AI security stories of the week. Free.