Servers and applications
GHSA-4xqp-vfh8-4fv7
Budibase filesystem oracle and conditional directory deletion via body.file.path
- Severity
- Medium 5.4
- Published
- 12 Nov 2026
- Last changed
- 12 Nov 2026
- Added to UpHeron
- 12 Nov 2026
- Fixed in
- 3.51.0
- Attack
- Over the network · Needs a user account · No user action needed
- Attacker can
- Read some data · Change some data
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N- Sources
- Project advisories (GitHub)
Description
The workspace create handler reads body.file.path directly from untrusted JSON, because the Joi validator uses .unknown(true) and never declares the field, then passes it to an import routine designed to receive only a server generated path. A stat on the attacker chosen path yields three distinguishable outcomes, forming a filesystem existence and type oracle. Where the target directory contains a top level db.txt, the routine additionally uploads the directory's other contents into the attacker's own object store namespace and then recursively deletes it.
packages/server/src/api/controllers/workspace.ts:663-666 assigns instanceConfig.file = { path: body.file?.path } from the request body.
Where a evidence/source-validation.txt file is present, it contains the exact cited code re-confirmed at HEAD, so the claim can be checked without cloning the repository.
Affected software
| Software | Affected versions |
|---|---|
BudibaseServers and applications · github:budibase/budibase |
|
References
- GitHub Advisory Database https://github.com/advisories/GHSA-4xqp-vfh8-4fv7
- github.com https://github.com/Budibase/budibase/security/advisories/GHSA-4xqp-vfh8-4fv7