Budibase is a low code platform for creating internal tools, workflows, and admin panels. In 3.31.5 and earlier, a path traversal vulnerability in the PWA (Progressive Web App) ZIP processing endpoint (POST /api/pwa/process-zip) allows an authenticated user with builder privileges to read arbitrary files from the server filesystem, including /proc/1/environ which contains all environment variables — JWT secrets, database credentials, encryption keys, and API tokens. The server reads attacker-specified files via unsanitized path.join() with user-controlled input from icons.json inside the uploaded ZIP, then uploads the file contents to the object store (MinIO/S3) where they can be retrieved through signed URLs. This results in complete platform compromise as all cryptographic secrets and service credentials are exfiltrated in a single request.
The POST /api/pwa/process-zip endpoint processes uploaded ZIP archives without proper path validation. An attacker places a modified icons.json file in the uploaded archive containing an attacker-controlled file path. The server constructs the file path using the path.join() function with unverified user input, allowing directory traversal (path traversal). The read file content — including sensitive locations such as /proc/1/environ — is then uploaded to object storage (MinIO or S3) and made available to the attacker via signed URLs.
An attacker can read arbitrary files accessible to the server process, including /proc/1/environ containing environment variables with JWT secrets, database credentials, encryption keys, and API tokens — leading to complete platform takeover.
Budibase should be updated to a version newer than 3.31.5. Details regarding the patch are available in the official security advisory from the vendor at https://github.com/Budibase/budibase/security/advisories/GHSA-pqcr-jmfv-c9cp
Budibase version 3.31.5 and earlier
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NBudibase
APPBudibase≤ 3.31.5
Related vulnerabilities
SQL/NoSQL Injection w Budibase — nieautoryzowany odczyt i zapis danych
Budibase: path traversal przez symlink w endpoint przetwarzania ZIP
Budibase: pominięcie uwierzytelnienia przez manipulację query string
Budibase: nieuwierzytelniony RCE przez publiczny webhook i krok Bash
SSRF w Budibase — nieaktywna ochrona blacklisty IP umożliwia dowolne żądania