CVE-2026-42795

Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package tarball. The file collection helpers (gleam_files, native_files, private_files) in compiler-cli/src/fs.rs use follow_links(true) when walking publishable directories such as src/ and priv/. The collected paths are added to the package archive via add_path_to_tar in compiler-cli/src/publish.rs without verifying that the resolved target remains within the project root. A symlink placed under a publishable directory will cause gleam export hex-tarball or gleam publish to embed the contents of the symlink target into the generated Hex package. An attacker with write access to the project repository can place a symlink in src/ or priv/ pointing to an arbitrary file. When a maintainer or CI pipeline runs gleam publish or gleam export hex-tarball, local files readable by the publisher (such as secrets, tokens, or SSH keys) are silently embedded into the published package artifact. This issue affects Gleam from 0.10.0-rc1 until 1.17.0.
CVSS

No CVSS.

Configurations

No configuration.

History

22 Jul 2026, 19:10

Type Values Removed Values Added
Summary
  • (es) Una vulnerabilidad de seguimiento de enlaces simbólicos en la exportación de paquetes Hex de Gleam permite que archivos fuera de la raíz del proyecto sean incrustados en el tarball del paquete generado. Los ayudantes de recolección de archivos (gleam_files, native_files, private_files) en compiler-cli/src/fs.rs usan follow_links(true) al recorrer directorios publicables como src/ y priv/. Las rutas recolectadas se añaden al archivo del paquete a través de add_path_to_tar en compiler-cli/src/publish.rs sin verificar que el objetivo resuelto permanezca dentro de la raíz del proyecto. Un enlace simbólico colocado bajo un directorio publicable hará que gleam export hex-tarball o gleam publish incrusten el contenido del objetivo del enlace simbólico en el paquete Hex generado. Un atacante con acceso de escritura al repositorio del proyecto puede colocar un enlace simbólico en src/ o priv/ apuntando a un archivo arbitrario. Cuando un mantenedor o una tubería de CI ejecuta gleam publish o gleam export hex-tarball, los archivos locales legibles por el publicador (como secretos, tokens o claves SSH) son incrustados silenciosamente en el artefacto del paquete publicado. Este problema afecta a Gleam desde 0.10.0-rc1 hasta 1.17.0.

02 Jun 2026, 16:16

Type Values Removed Values Added
References () https://github.com/gleam-lang/gleam/security/advisories/GHSA-qhh5-fg4c-8gqc - () https://github.com/gleam-lang/gleam/security/advisories/GHSA-qhh5-fg4c-8gqc -

02 Jun 2026, 14:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-06-02 14:16

Updated : 2026-07-22 19:10


NVD link : CVE-2026-42795

Mitre link : CVE-2026-42795

CVE.ORG link : CVE-2026-42795


JSON object : View

Products Affected

No product.

CWE
CWE-59

Improper Link Resolution Before File Access ('Link Following')