CVE Catalog

CVE-2026-103061

MediumCVSS 5.9
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.40%

33th percentile - higher than 33% of all known CVEs

Summary

A path traversal vulnerability in gleam-lang gleam allows a malicious package publisher to delete a directory outside the project's build directory when a developer builds a project. Gleam reads the app field from the Hex package release metadata and uses it as the build directory name without validation; when a dependency fails to compile, Gleam deletes that directory with remove_dir_all. This issue affects gleam from 0.32.4 before 1.19.2.

Risk Assessment

A developer building a project with a malicious dependency may unknowingly delete important directories outside the build directory, leading to data loss or system damage. The vulnerability can be exploited by publishers of malicious packages in the Hex ecosystem.

Recommendation

Update Gleam to version 1.19.2 or later, which fixes this vulnerability. It is also recommended to verify dependencies and avoid building projects with untrusted packages.

Other vulnerabilities in gleam

See all
Original NVD description (English source)

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in gleam-lang gleam allows a malicious package publisher to delete a directory outside the project's build directory when a developer builds a project. A Hex package release's metadata carries an app field with the release's OTP application name. Gleam reads this field from the hex.pm release API when it downloads dependencies and uses it as the package's build directory name without validating it (hex_manifest_package in compiler-cli/src/dependencies.rs, ProjectPaths::build_directory_for_package). When a dependency fails to compile, Gleam deletes that directory with remove_dir_all. hex.pm didn't restrict the field to a directory name before 2026-10-12, so a publisher could set it to a value such as ../../../../target or an absolute path. When a project depends on such a release directly or transitively and the release fails to compile, gleam build, gleam check, gleam run, gleam test or gleam export deletes the directory the name resolves to. For a pure Gleam package no publisher code runs. This issue affects gleam: from 0.32.4 before 1.19.2.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS