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 [email protected] 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. [email protected] 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.
CVE-2026-54352
This critical-severity CVE scores 9.6 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.5%, top 61% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.6
- EG Score
- 9.6(medium)
- EPSS
- 38.8%
- KEV
- Not listed
Published
June 22, 2026
Last Modified
June 30, 2026
Advisory Details (1)
Auto-updated Jun 26, 2026Arbitrary file read by workspace-builder via PWA-zip symlink upload · Advisory · Budibase/budibase · GitHub
https://github.com/Budibase/budibase/security/advisories/GHSA-w7mq-r738-x278Vendor Advisories for CVE-2026-54352(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Affected Packages
(1 across 1 ecosystem)
npm(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| @budibase/server | — | 3.39.9 | — |
Weakness Classification(2)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 48× in last 7d / 93× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-07 05:23 UTCEG score recompute
- 2026-07-07 00:48 UTCEG score recompute
- 2026-07-06 20:28 UTCEG score recompute
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 15:47 UTCEG score recompute
- 2026-07-06 11:24 UTCEG score recompute
- 2026-07-06 06:34 UTCEG score recompute
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-06 02:15 UTCEG score recompute
- 2026-07-05 21:55 UTCEG score recompute
- 2026-07-05 17:36 UTCEG score recompute
- 2026-07-05 13:14 UTCEG score recompute
- 2026-07-05 08:53 UTCEG score recompute
- 2026-07-05 04:32 UTCEG score recompute
- 2026-07-05 02:31 UTCEPSS rescore
- 2026-07-05 02:30 UTCEPSS rescore
- 2026-07-05 00:02 UTCEG score recompute
- 2026-07-04 19:42 UTCEG score recompute
- 2026-07-04 15:22 UTCEG score recompute
- 2026-07-04 10:54 UTCEG score recompute
- 2026-07-04 06:35 UTCEG score recompute
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-04 06:31 UTCEPSS rescore
Show 68 moreShow fewer
- 2026-07-04 02:06 UTCEG score recompute
- 2026-07-03 21:45 UTCEG score recompute
- 2026-07-03 17:26 UTCEG score recompute
- 2026-07-03 13:05 UTCEG score recompute
- 2026-07-03 08:46 UTCEG score recompute
- 2026-07-03 04:26 UTCEG score recompute
- 2026-07-03 00:05 UTCEG score recompute
- 2026-07-02 19:44 UTCEG score recompute
- 2026-07-02 15:25 UTCEG score recompute
- 2026-07-02 11:05 UTCEG score recompute
- 2026-07-02 06:14 UTCEG score recompute
- 2026-07-02 01:55 UTCEG score recompute
- 2026-07-01 21:34 UTCEG score recompute
- 2026-07-01 17:13 UTCEG score recompute
- 2026-07-01 15:07 UTCEPSS rescore
- 2026-07-01 12:50 UTCEG score recompute
- 2026-07-01 08:28 UTCEG score recompute
- 2026-07-01 04:06 UTCEG score recompute
- 2026-06-30 23:46 UTCEG score recompute
- 2026-06-30 23:22 UTCEPSS rescore
- 2026-06-30 19:15 UTCEG score recompute
- 2026-06-30 14:54 UTCEG score recompute
- 2026-06-30 10:30 UTCEG score recompute
- 2026-06-30 06:10 UTCEG score recompute
- 2026-06-30 01:50 UTCEG score recompute
- 2026-06-29 21:31 UTCEG score recompute
- 2026-06-29 17:11 UTCEG score recompute
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-29 12:49 UTCEG score recompute
- 2026-06-29 08:29 UTCEG score recompute
- 2026-06-29 04:09 UTCEG score recompute
- 2026-06-28 23:47 UTCEG score recompute
- 2026-06-28 19:27 UTCEG score recompute
- 2026-06-28 15:07 UTCEG score recompute
- 2026-06-28 14:07 UTCEPSS rescore
- 2026-06-28 10:45 UTCEG score recompute
- 2026-06-28 06:26 UTCEG score recompute
- 2026-06-28 04:56 UTCEPSS rescore
- 2026-06-28 04:56 UTCEPSS rescore
- 2026-06-28 02:05 UTCEG score recompute
- 2026-06-27 21:44 UTCEG score recompute
- 2026-06-27 17:24 UTCEG score recompute
- 2026-06-27 13:05 UTCEG score recompute
- 2026-06-27 08:45 UTCEG score recompute
- 2026-06-27 04:25 UTCEG score recompute
- 2026-06-27 00:05 UTCEG score recompute
- 2026-06-26 19:46 UTCEG score recompute
- 2026-06-26 15:26 UTCEG score recompute
- 2026-06-26 11:06 UTCEG score recompute
- 2026-06-26 02:18 UTCEG score recompute
- 2026-06-25 21:58 UTCEG score recompute
- 2026-06-25 17:39 UTCEG score recompute
- 2026-06-25 13:19 UTCEG score recompute
- 2026-06-25 08:59 UTCEG score recompute
- 2026-06-25 04:40 UTCEG score recompute
- 2026-06-25 00:18 UTCEG score recompute
- 2026-06-24 19:58 UTCEG score recompute
- 2026-06-24 15:38 UTCEG score recompute
- 2026-06-24 11:19 UTCEG score recompute
- 2026-06-24 06:59 UTCEG score recompute
- 2026-06-24 02:36 UTCEG score recompute
- 2026-06-23 22:17 UTCEG score recompute
- 2026-06-23 17:57 UTCEG score recompute
- 2026-06-23 13:36 UTCEG score recompute
- 2026-06-23 09:13 UTCEG score recompute
- 2026-06-23 04:50 UTCEG score recompute
- 2026-06-23 00:30 UTCEG score recompute
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2026-54352?
When was CVE-2026-54352 disclosed?
Is CVE-2026-54352 actively exploited?
What is the CVSS score of CVE-2026-54352?
How do I remediate CVE-2026-54352?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-54352
Is Your Infrastructure Affected by CVE-2026-54352?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.