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.
| Vendor | Product | Version(s) | CPE |
|---|---|---|---|
| Gleam | Gleam | >= v0.18.0-rc1-elixir, < v1.17.0-elixir, >= v0.18.0-rc1-elixir-alpine, < v1.17.0-elixir-alpine, >= v0.18.0-rc1-elixir-slim, < v1.17.0-elixir-slim, >= v0.18.0-rc1-erlang, < v1.17.0-erlang, >= v0.18.0-rc1-erlang-alpine, < v1.17.0-erlang-alpine, >= v0.18.0-rc1-erlang-slim, < v1.17.0-erlang-slim, >= v0.18.0-rc1-node, < v1.17.0-node, >= v0.18.0-rc1-node-alpine, < v1.17.0-node-alpine, >= v0.18.0-rc1-node-slim, < v1.17.0-node-slim, >= v0.18.0-rc1-scratch, < v1.17.0-scratchCNA affecteddefault unaffected | |
| Gleam | Gleam | >= 0.18.0-rc1, < 1.17.0, >= ed7aec0484f10d60978b63788c8a6497590855ab, < 690ca069817bee5f77a28fc3e360627c1da19291CNA affecteddefault unaffected | |
| Gleam | Gleam | >= 0.18.0-rc1, < 1.17.0CNA affecteddefault unaffected |
CVSS version used by this source: 4.0
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
The average CVE in this peer group has 0.0 Twitter, 0.0 Reddit, 0.0 Bluesky, 0.0 Mastodon, and 0.1 GitHub mentions.
No media coverage found for this CVE.
The average CVE in this peer group has 0.1 InfoSec Media, 0.0 Vendor Blog, and 0.0 Security Researcher mentions.
Remediation records are not available for this CVE.