CVE-2026-43965 json
Path Traversal in build/packages/packages.toml Allows Arbitrary Directory Deletion
published 5mo ago modified last mo. also EUVD-2026-33926
- cvss
- 5.6
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 13%
- public exploits
- 0
- none known
Summary
Path traversal vulnerability in Gleam's dependency management allows arbitrary directory deletion via malicious build/packages/packages.toml content.
Package keys read from build/packages/packages.toml by LocalPackages::read_from_disc are passed without validation to paths.build_packages_package(), which constructs a filesystem path by joining the project build directory with the attacker-controlled key. The resulting path is then passed to fs::delete_directory (which calls remove_dir_all). No check is performed to ensure the path remains within the intended build/packages/ directory. Both absolute paths and relative traversal sequences (e.g. ../) are accepted as package keys, allowing deletion of arbitrary directories.
An attacker who can cause a victim to run gleam deps download on a project containing a malicious build/packages/packages.toml (e.g. by committing the normally-gitignored file to a repository) can cause arbitrary directories on the victim's system to be recursively deleted.
This issue affects Gleam from 0.18.0-rc1 until 1.17.0.
Patch / fix
- Gleam Gleam 1.17.0, v1.17.0-elixir, v1.17.0-elixir-alpine, v1.17.0-elixir-slim, v1.17.0-erlang, v1.17.0-erlang-alpine, v1.17.0-erlang-slim, v1.17.0-node, v1.17.0-node-alpine, v1.17.0-node-slim, v1.17.0-scratch
- gleam openSUSE Leap 16.0 1.17.0-bp160.1.1
- gleam openSUSE Tumbleweed 1.17.0-1.1
opensuse advisories openSUSE-SU-2026:21143-1openSUSE-SU-2026:10953-1
Is CVE-2026-43965 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5mo ago
Exploit prediction
0.23% chance of exploitation in the next 30 days, higher than 13% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/gleam-lang/gleam/security/advisories/GHSA-jqvf-f6p2-wrv3 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.6 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 5.6 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- Gleam Gleam
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/gleam-lang/gleam/commit/690ca069817bee5f77a28fc3e360627c1da19291
patch
-
github.com
/gleam-lang/gleam/security/advisories/GHSA-jqvf-f6p2-wrv3
vendor-advisory, related, exploit
-
cna.erlef.org
/cves/CVE-2026-43965.html
related
-
osv.dev
/vulnerability/EEF-CVE-2026-43965
related
Sources
- CVE List CVE-2026-43965
- NVD CVE-2026-43965
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.