CVE-2026-32148

Lockfile checksums not verified in Hex allows dependency integrity bypass

MEDIUM
5.9
CVSS Score
Published: April 30, 2026 at 06:17 PM UTC
Updated: June 17, 2026 at 10:35 AM UTC
2 products affected across 2 vendorsHexHex

Using hex by hexpm?

Get instant alerts when new vulnerabilities affect hex - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.9
Exploit prediction
EPSS 0.2%
SSVC
PoC

Description

Insufficient Verification of Data Authenticity vulnerability in hexpm hex (Hex.RemoteConverger module) allows dependency integrity bypass via unverified lockfile checksums. Hex stores checksums for dependencies in the mix.lock file to ensure reproducible and integrity-checked builds. However, Hex.RemoteConverger.verify_resolved/2 never executes checksum verification because the lock data returned by Hex.Utils.lock/1 uses string-based dependency names, while the verification logic compares against atom-based names. This type mismatch causes the verification code path to be silently skipped. Checksums are still validated when packages are initially downloaded from the registry, but mismatches between the lockfile and resolved dependencies are not detected. An attacker who can influence cached packages (e.g., via local cache poisoning or a compromised registry) can provide modified dependency contents that will be accepted without detection. The mix.lock file is silently rewritten with the checksum values from the registry, erasing evidence of tampering. This issue affects hex: from 0.16.0 before 2.4.2.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

0.16.0 ≤ v < 2.4.2
0.16.0 ≤ v < 2.4.20.16.0e01576f28c64af9fae6eb17e2dad30f6efcb303c
Vendor states this is fixed in d7528c8199a1144511508bf3a6460026a5a14c8e (fixed)
Affected range stops below 2.4.2, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (4)

Vendor AdvisoryRelatedExploitPatch
Source: cverecord
https://github.com/hexpm/hex/security/advisories/GHSA-hmv9-4mfr-m92v
RelatedThird Party Advisory
Source: cverecord
https://cna.erlef.org/cves/CVE-2026-32148.html
RelatedExploitThird Party Advisory
Source: cverecord
https://osv.dev/vulnerability/EEF-CVE-2026-32148

SSVC — Action Prioritization

SSVCPoCNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
NETWORK
Complexity
HIGH
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
HIGH
Availability
NONE
Vector?

Quick Info

StatusANALYZED
CWE
CWE-354CWE-494

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card