CVE-2026-105280 json
Hex writes unverified package tarballs to standard output in mix hex.package fetch
published 2026-10-12 28 d ago modified 2026-10-16 23 d ago also EUVD-2026-97501
- cvss
- 6.9
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 11%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- hexpm hex 2.5.2
- erlang-hex Debian 14 2.5.3-2
debian advisories DEBIAN-CVE-2026-105280
- github.com/hexpm/hex@d1f5a08 commit
- github.com/hexpm/hex@8a14632 commit
- github.com/hexpm/hex@69489f8 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-105280 updated cvss 5.3
hex: hex: Integrity check bypass via standard output package fetch
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 24 d ago
Exploit prediction
0.21% chance of exploitation in the next 30 days, higher than 11% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- hexpm hex
Classification
- Weakness
-
- CWE-354 Improper Validation of Integrity Check Value
References
-
github.com
/hexpm/hex/commit/d1f5a085d9d4748e1f7d195e4bc39ebd77c28d9c
related
-
github.com
/hexpm/hex/commit/8a14632ca6ba8a8afd2a3f2098bc267c13e13d93
patch
-
github.com
/hexpm/hex/commit/69489f8b74213f03db10169e6e5407e6d5fee512
patch
-
github.com
/hexpm/hex/security/advisories/GHSA-98jr-23pm-vj7c
related, vendor-advisory
-
cna.erlef.org
/cves/CVE-2026-105280.html
related
-
osv.dev
/vulnerability/EEF-CVE-2026-105280
related
Sources
- CVE List CVE-2026-105280
- NVD CVE-2026-105280
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.