CVE-2026-27702

9.9 CRITICAL

📋 TL;DR

This CVE describes a critical server-side JavaScript injection vulnerability in Budibase Cloud (SaaS) that allows any authenticated user to execute arbitrary code on the server via unsafe eval() in view filtering. The vulnerability exposes sensitive environment variables including database credentials, API keys, and secrets. Only Budibase Cloud deployments are affected - self-hosted installations using native CouchDB views are not vulnerable.

💻 Affected Systems

Products:
  • Budibase Cloud (SaaS)
Versions: All versions prior to 3.30.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Self-hosted Budibase deployments using native CouchDB views are NOT vulnerable. Only the SaaS cloud offering is affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the Budibase Cloud environment, extraction of all secrets and credentials, unauthorized access to all tenant databases, potential data exfiltration, and lateral movement within the cloud infrastructure.

🟠

Likely Case

Attackers gain access to sensitive environment variables, extract CouchDB credentials, access tenant databases, and potentially compromise user data including email addresses and application data.

🟢

If Mitigated

With proper authentication controls and network segmentation, impact would be limited to the specific compromised pod, but secrets exposure would still require rotation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once authenticated. The vulnerability is in a core filtering function that processes user input.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.30.4

Vendor Advisory: https://github.com/Budibase/budibase/security/advisories/GHSA-rvhr-26g4-p2r8

Restart Required: Yes

Instructions:

1. Update Budibase Cloud deployment to version 3.30.4 or later. 2. Restart all affected services. 3. Rotate all exposed secrets (INTERNAL_API_KEY, JWT_SECRET, CouchDB credentials, AWS keys). 4. Verify the fix by checking that eval() is no longer used with user input in view filtering.

🔧 Temporary Workarounds

Disable view filtering functionality

all

Temporarily disable the vulnerable view filtering feature until patching can be completed

Requires application configuration changes - consult Budibase documentation for feature toggles

🧯 If You Can't Patch

  • Immediately rotate all environment variables and secrets exposed in the app-service pod
  • Implement strict network segmentation to limit database access and monitor for unusual database queries

🔍 How to Verify

Check if Vulnerable:

Check if running Budibase Cloud version earlier than 3.30.4. Review code in packages/server/src/db/inMemoryView.ts for unsafe eval() usage with user input.

Check Version:

Check Budibase version in application settings or via API endpoint /api/version

Verify Fix Applied:

Verify version is 3.30.4 or later. Confirm that the commit 348659810cf930dda5f669e782706594c547115d is applied, which replaces eval() with safe alternatives.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript execution patterns in server logs
  • Multiple failed or unusual view filtering requests
  • Unexpected database access patterns from app-service

Network Indicators:

  • Unusual outbound connections from app-service pods
  • Database queries from unexpected sources

SIEM Query:

source="budibase-logs" AND ("eval" OR "inMemoryView" OR "view filtering") AND status="200"

🔗 References

📤 Share & Export