{"id":36076,"date":"2026-10-13T00:33:04","date_gmt":"2026-10-12T16:33:04","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-105280"},"modified":"2026-10-13T00:33:04","modified_gmt":"2026-10-12T16:33:04","slug":"cve-2026-105280","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-105280","title":{"rendered":"CVE-2026-105280 &#8211; Improper Validation of Integrity Check Value vulnerability in hexpm hex allows a package m"},"content":{"rendered":"<p>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 &#8211;output &#8211; writes to standard output.<\/p>\n<p>Hex compares a fetched tarball&#8217;s inner and outer checksums with the repository&#8217;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&#8217;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 &#8211;output FILE fails with a checksum mismatch.<\/p>\n<p>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&#8217;s files. This happens even when the checksum check then fails, because the archive is already on standard output.<\/p>\n<p>This issue affects hex: from 0.20.2 before 2.5.2.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8211;output &#8211; writes to standard outpu<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-36076","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/36076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=36076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=36076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=36076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}