All vulnerabilities

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
Weakness
Path traversal (CWE-22)Information exposure (CWE-200)
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.

From Budibase/budibase's security advisory. Shortened; the full text is there.

Affected software

SoftwareAffected versions
BudibaseServers and applications · github:budibase/budibase
  • Every version before 3.51.0

References