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.
CVSS
No CVSS.
References
Configurations
No configuration.
History
06 Oct 2026, 22:10
| Type | Values Removed | Values Added |
|---|---|---|
| Summary | (es) Una vulnerabilidad de salto de ruta en la gestión de dependencias de Gleam permite la eliminación arbitraria de directorios a través de contenido malicioso en build/packages/packages.toml. Las claves de paquete leídas de build/packages/packages.toml por LocalPackages::read_from_disc se pasan sin validación a paths.build_packages_package(), que construye una ruta del sistema de archivos uniendo el directorio de compilación del proyecto con la clave controlada por el atacante. La ruta resultante se pasa luego a fs::delete_directory (que llama a remove_dir_all). No se realiza ninguna comprobación para asegurar que la ruta permanezca dentro del directorio build/packages/ previsto. Tanto las rutas absolutas como las secuencias de salto relativas (p. ej., rutas relativas ../) se aceptan como claves de paquete, permitiendo la eliminación de directorios arbitrarios. Un atacante que puede hacer que una víctima ejecute gleam deps download en un proyecto que contenga un build/packages/packages.toml malicioso (p. ej., al confirmar el archivo normalmente ignorado por Git en un repositorio) puede hacer que se eliminen recursivamente directorios arbitrarios en el sistema de la víctima. Este problema afecta a Gleam desde la versión 0.18.0-rc1 hasta la 1.17.0. |
Information
Published : 2026-06-02 14:16
Updated : 2026-10-06 22:10
NVD link : CVE-2026-43965
Mitre link : CVE-2026-43965
CVE.ORG link : CVE-2026-43965
JSON object : View
Products Affected
No product.
CWE
CWE-22
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
