Improper Path Validation in Git Dependency Handling Allows Arbitrary File System Modification
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
Improper path validation vulnerability in the Gleam compiler's handling of git dependencies allows arbitrary file system modification during dependency download. Dependency names from gleam.toml and manifest.toml are incorporated into filesystem paths without sufficient validation or confinement to the intended dependency directory, allowing attacker-controlled paths (via relative traversal such as ../ or absolute paths) to target filesystem locations outside that directory. When resolving git dependencies (e.g. via gleam deps download), the computed path is used for filesystem operations including directory deletion and creation. This vulnerability occurs during the dependency resolution and download phase, which is generally expected to be limited to fetching and preparing dependencies within a confined directory. A malicious direct or transitive git dependency can exploit this issue to delete and overwrite arbitrary directories outside the intended dependency directory, including attacker-chosen absolute paths, potentially causing data loss. In some environments, this may be further leveraged to achieve code execution, for example by overwriting git hooks or shell configuration files. This issue affects Gleam from 1.9.0-rc1 until 1.15.4.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Gleam | Gleam | 1.9.0-rc1 and later | — | No fix listed | CNA |
| Gleam | Gleam | 1.9.0-rc1 and later | — | No fix listed | CNA |
| Gleam | Gleam | v1.9.0-rc1-elixir to before v1.15.4-elixir; v1.9.0-rc1-erlang to before v1.15.4-erlang; v1.9.0-rc1-node to before v1.15.4-node; v1.9.0-rc1-node-slim to before v1.15.4-node-slim; v1.9.0-rc1-elixir-slim to before v1.15.4-elixir-slim; v1.9.0-rc1-erlang-slim to before v1.15.4-erlang-slim; v1.9.0-rc1-erlang-alpine to before v1.15.4-erlang-alpine; v1.9.0-rc1-elixir-alpine to before v1.15.4-elixir-alpine; v1.9.0-rc1-node-alpine to before v1.15.4-node-alpine; v1.9.0-rc1-scratch to before v1.15.4-scratch | v1.15.4-elixir, v1.15.4-erlang, v1.15.4-node, v1.15.4-node-slim, v1.15.4-elixir-slim, v1.15.4-erlang-slim, v1.15.4-erlang-alpine, v1.15.4-elixir-alpine, v1.15.4-node-alpine, v1.15.4-scratch | Patch available | CNA |
- Gleam VendorGleam Affected 1.9.0-rc1 and later Fixed in — No fix listed CNA
- Gleam VendorGleam Affected 1.9.0-rc1 and later Fixed in — No fix listed CNA
- Gleam VendorGleam Affected v1.9.0-rc1-elixir to before v1.15.4-elixir; v1.9.0-rc1-erlang to before v1.15.4-erlang; v1.9.0-rc1-node to before v1.15.4-node; v1.9.0-rc1-node-slim to before v1.15.4-node-slim; v1.9.0-rc1-elixir-slim to before v1.15.4-elixir-slim; v1.9.0-rc1-erlang-slim to before v1.15.4-erlang-slim; v1.9.0-rc1-erlang-alpine to before v1.15.4-erlang-alpine; v1.9.0-rc1-elixir-alpine to before v1.15.4-elixir-alpine; v1.9.0-rc1-node-alpine to before v1.15.4-node-alpine; v1.9.0-rc1-scratch to before v1.15.4-scratch Fixed in v1.15.4-elixir, v1.15.4-erlang, v1.15.4-node, v1.15.4-node-slim, v1.15.4-elixir-slim, v1.15.4-erlang-slim, v1.15.4-erlang-alpine, v1.15.4-elixir-alpine, v1.15.4-node-alpine, v1.15.4-scratch Patch available CNA
Remediation
- Fix · CNA Gleam (Gleam) Fixed in v1.15.4-elixir, v1.15.4-erlang, v1.15.4-node, v1.15.4-node-slim, v1.15.4-elixir-slim, v1.15.4-erlang-slim, v1.15.4-erlang-alpine, v1.15.4-elixir-alpine, v1.15.4-node-alpine, v1.15.4-scratch
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
Not affected: 4 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-32146
References
Patch 2
More Gleam vulnerabilities
- TI-2026-32010 Path Traversal in build/packages/packages.toml Allows Arbitrary Directory Deletion CVSS 4.0MEDIUM 5.6
- TI-2026-31015 Symlink Following in Hex Package Export Allows Embedding Files Outside Project Root CVSS 4.0MEDIUM 5.1
- TI-2026-25177 Path Traversal in gleam docs build via documentation.pages Allows Arbitrary File Read and Write CVSS 4.0MEDIUM 4.6
- TI-2026-71223 Path traversal in Gleam via unvalidated package application names CVSS 4.0MEDIUM 5.9
Sources
- CVE-2026-32146 · CVE Program
- CVE-2026-32146 · NVD
- FIRST EPSS
- CVE-2026-32146 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences