CVE-2026-42795

Vulnérabilité moyenne dans Gleam (Gleam)

CVSS 5.1 · Moyenne
EPSS 0.2%
Gleam•Gleam•Versions : <v1.17.0-elixir-alpine, <v1.17.0-elixir-slim, v0.10.0-rc1-erlang-alpine, <v1.17.0-node-slim, <1.17.0, <v1.17.0-elixir, <v1.17.0-erlang, <v1.17.0-node, v0.10.0-rc1-elixir-slim, c82a2d83bd0c06cafdc196820deb3f89a9b3ff7c, v0.10.0-rc1-elixir, <6435a5528b9ae0449e2f32be579641ec485f6866, v0.10.0-rc1-node, <v1.17.0-node-alpine, v0.10.0-rc1-elixir-alpine, 0.10.0-rc1, <v1.17.0-erlang-slim, v0.10.0-rc1-erlang-slim, v0.10.0-rc1-scratch, <v1.17.0-scratch, v0.10.0-rc1-erlang, <v1.17.0-erlang-alpine, v0.10.0-rc1-node-alpine, v0.10.0-rc1-node-slim

Description

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.

Gravité et risque d'exploitation

CVE-2026-42795 obtient un score CVSS de 5.1/10, soit une gravité moyenne. Selon le modèle EPSS, la probabilité qu'elle soit exploitée dans les 30 prochains jours est de 0.17 %, ce qui la place devant 5.6 % des CVE référencées.

Que faire ?

  • Vérifiez si Gleam (versions <v1.17.0-elixir-alpine, <v1.17.0-elixir-slim, v0.10.0-rc1-erlang-alpine, <v1.17.0-node-slim, <1.17.0, <v1.17.0-elixir, <v1.17.0-erlang, <v1.17.0-node, v0.10.0-rc1-elixir-slim, c82a2d83bd0c06cafdc196820deb3f89a9b3ff7c, v0.10.0-rc1-elixir, <6435a5528b9ae0449e2f32be579641ec485f6866, v0.10.0-rc1-node, <v1.17.0-node-alpine, v0.10.0-rc1-elixir-alpine, 0.10.0-rc1, <v1.17.0-erlang-slim, v0.10.0-rc1-erlang-slim, v0.10.0-rc1-scratch, <v1.17.0-scratch, v0.10.0-rc1-erlang, <v1.17.0-erlang-alpine, v0.10.0-rc1-node-alpine, v0.10.0-rc1-node-slim) est présent sur votre parc.
  • Appliquez le correctif ou la version corrigée indiqués dans les références de l'éditeur.
  • À défaut de correctif, limitez l'exposition (filtrage réseau, désactivation du composant).
  • Automatisez la détection : les agents CVE Heimdall (gratuits, open source) corrèlent l'inventaire de vos serveurs avec la base CVE.

Références