Impact
Gleam’s hex package export process follows symbolic links when collecting files from publishable directories such as src/ and priv/. The file paths are included in the archive without verifying that resolved targets remain inside the project root. This behavior is a path‑traversal flaw (CWE‑59) that allows an attacker who can write to the repository to embed arbitrary local files—such as secrets, tokens, or SSH keys—into the generated package tarball. The vulnerability does not provide remote code execution or denial of service but can leak confidential information to anyone who installs or inspects the published package.
Affected Systems
Constrained Erlang/OTP application Gleam, versions 0.10.0‑rc1 through 1.17.0, is affected. Users of earlier releases are unaffected, while those on 1.17.0 and later are presumed fixed.
Risk and Exploitability
The CVSS score of 5.1 reflects a moderate risk. EPSS information is not available, and the issue is not listed in the CISA KEV catalog. The attack requires write access to the repository to place a malicious symlink, after which a maintainer or CI pipeline must run the publish or export command. Because the exploit is local and requires the publishing process to run, the likelihood of wide‑scale exploitation is lower, but the consequence—unauthorized disclosure of sensitive files—can be significant for projects with secrets stored in src/ or priv/.
OpenCVE Enrichment