CVE-2026-59247
Severity CVSS v4.0:
HIGH
Type:
CWE-345
Insufficient Verification of Data Authenticity
Publication date:
29/07/2026
Last modified:
30/07/2026
Description
Insufficient Verification of Data Authenticity vulnerability in Gleam allows an adversary in the middle to substitute forged Hex package contents during dependency resolution.<br />
<br />
During dependency resolution Gleam fetches package metadata from the signature-verified Hex repository, which covers each release&#39;s dependency requirements and SHA-256 outer_checksum. After resolving versions, gleam_cli::dependencies::lookup_package makes a second request to the unsigned Hex API through gleam_core::hex::get_package_release and records the outer_checksum and dependency names from that JSON response into manifest.toml, instead of the values from the verified repository metadata. The Hex repository signature does not cover the API response.<br />
<br />
An adversary in the middle who can intercept TLS with a certificate trusted by the Gleam process (for example a TLS-inspecting proxy using a CA in the operating system trust store or added through GLEAM_CACERTS_PATH), and who can modify both the API release response and the corresponding repository tarball, can supply a package archive with a matching forged checksum without the Hex repository signing key. Gleam verifies the forged tarball against the forged checksum, accepts it, and extracts it as a dependency source, resulting in loss of integrity of the downloaded package contents.<br />
<br />
Only projects that resolve or update Hex dependencies are affected, which happens when the manifest is missing, a dependency is added or updated, or dependency requirements change. Builds that reuse an unchanged, known-good manifest.toml continue to verify tarballs against its pinned checksum. This issue affects gleam: from 0.18.0 before 1.18.0.
Impact
Base Score 4.0
7.60
Severity 4.0
HIGH
References to Advisories, Solutions, and Tools
- https://cna.erlef.org/cves/CVE-2026-59247.html
- https://github.com/gleam-lang/gleam/commit/c9c0d48c123c8abae6db8dd61b25ccb427ed3d35
- https://github.com/gleam-lang/gleam/security/advisories/GHSA-4vvc-458m-r82g
- https://github.com/hexpm/specifications/blob/main/registry-v2.md
- https://osv.dev/vulnerability/EEF-CVE-2026-59247



