CVE-2026-54352
Last modified
CVE-2026-54352 is a critical-severity vulnerability rated 9.6/10 on the CVSS scale. Budibase is an open-source low-code platform. Prior to 3.39.9, `POST /api/pwa/process-zip` at packages/server/src/api/routes/static.ts:24 accepts a builder-uploaded .zip, extracts it with extract-zip@2.0.1 into a temp directory, then for each entry listed in icons.json validates the icon path, opens it, and streams the bytes into MinIO. EPSS estimates a 0.47% chance of exploitation in the next 30 days.
Description
Budibase is an open-source low-code platform. Prior to 3.39.9, `POST /api/pwa/process-zip` at packages/server/src/api/routes/static.ts:24 accepts a builder-uploaded .zip, extracts it with extract-zip@2.0.1 into a temp directory, then for each entry listed in icons.json validates the icon path, opens it, and streams the bytes into MinIO. The resulting object is served back via GET /api/assets/{appId}/pwa/{uuid}.png. extract-zip@2.0.1 preserves absolute symlink targets when restoring symlink entries. The icon-source validator at packages/server/src/api/controllers/static/index.ts:259-268 resolves the icon source string against baseDir (path.resolve), checks resolvedSrc.startsWith(baseDir + path.sep) against that string, and calls fs.existsSync(resolvedSrc) which follows symbolic links to confirm the target exists. None of the three calls reject symbolic-link entries. packages/backend-core/src/objectStore/objectStore.ts:302 then calls (await fsp.open(path)).createReadStream() on the resolved path. fsp.open follows the symlink, the target file's bytes stream into MinIO, and the response of the asset-fetch endpoint returns those bytes verbatim. Result: a workspace-level builder reads any file the server process can open. This vulnerability is fixed in 3.39.9.
Metrics
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Budibase | Budibase | < 3.39.9 |
References
- https://github.com/Budibase/budibase/security/advisories/GHSA-w7mq-r738-x278Exploit, Vendor Advisory
- https://github.com/Budibase/budibase/security/advisories/GHSA-w7mq-r738-x278Exploit, Vendor Advisory
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-54352?
How severe is CVE-2026-54352?
How do I fix CVE-2026-54352?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-54342In epa4all, prior to version 2026-05-20, an attacker on the …8.1
- CVE-2026-54344ToolJet is an open-source low-code platform for building int…4.7
- CVE-2026-54345gopacket provides packet processing capabilities for Go. In …7.5
- CVE-2026-5435The deprecated functions ns_printrrf, ns_printrr and fp_nque…7.3
- CVE-2026-54350Budibase is an open-source low-code platform. Prior to 3.39.…9.8
- CVE-2026-54351Budibase is an open-source low-code platform. Prior to 3.39.…9.6
- CVE-2026-54353Budibase is an open-source low-code platform. Prior to 3.39.…7.1
- CVE-2026-54357An improper authorization vulnerability in MISP allowed an a…5.1
- CVE-2026-54358An incorrect authorization vulnerability in MISP allows an o…7.5
- CVE-2026-54359MISP contains an insecure default configuration in which the…7.1
- CVE-2026-5436The MW WP Form plugin for WordPress is vulnerable to Arbitra…8.1
- CVE-2026-54360A mass assignment vulnerability exists in MISP’s sharing gro…8.4
Are you affected by CVE-2026-54352?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
