CVE-2026-105280 Hex writes unverified package tarballs to standard output in mix hex.package fetch
A malicious mirror can inject unverified tarballs into stdout during package fetch, potentially leading to code execution or data modification in pipelines.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-105280?
CVE-2026-105280 is a medium-severity vulnerability in hexpm hex, published on 12 Oct 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Improper Validation of Integrity Check Value vulnerability in hexpm hex allows a package mirror to substitute the tarball that mix hex.package fetch PACKAGE VERSION --output - writes to standard output.
Hex compares a fetched tarball's inner and outer checksums with the repository's signed registry before writing it to a file or unpacking it. The standard output branch of mix hex.package fetch writes the bytes returned by Hex.SCM.fetch/3 without that comparison, and Hex.SCM.fetch/3 doesn't verify freshly downloaded tarballs itself. When a mirror configured with HEX_MIRROR_URL or mirror_url serves altered bytes, the command prints them and exits successfully, while the same fetch with --output FILE fails with a checksum mismatch.
Hex also prints diagnostics to standard output while the command runs: the body of a failed HTTP response from the update check or a registry fetch, and API warnings from the x-hex-message header. A mirror that answers one of those requests with an error whose body is a tar archive gets that archive written to standard output ahead of the verified tarball, so a pipeline that unpacks standard output extracts the mirror's files. This happens even when the checksum check then fails, because the archive is already on standard output.
This issue affects hex: from 0.20.2 before 2.5.2.
Weakness: CWE-354
Which versions are affected by CVE-2026-105280?
How do I fix CVE-2026-105280?
Upgrade to a fixed version.
Is CVE-2026-105280 being exploited?
There is no known exploitation of CVE-2026-105280 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-105280, EEF-CVE-2026-105280, GHSA-98jr-23pm-vj7c, UBUNTU-CVE-2026-105280.