High severity · published Oct 12, 2026
CVE-2026-105668
Hex release-age cooldown is lifted package-wide when the locked release is retired
7.1
CVSS
0.4%
EPSS
No
On KEV
Description
Protection Mechanism Failure vulnerability in hexpm hex allows the owner of a package, or an attacker who has taken over the owner's account, to get a newly published release past the release-age cooldown.
The cooldown (cooldown config, HEX_COOLDOWN) withholds versions younger than the configured age during dependency resolution. When the release of a package locked in mix.lock is retired or has a security advisory, Hex.RemoteConverger.build_cooldown_bypass/3 and Hex.RemoteConverger.unsafe_lock_bypass/1 lift the cooldown for every version of that package and of every package the locked release depends on, so that mix deps.update can move off the unsafe release. Retiring a release needs the same package owner permission as publishing one. An attacker who publishes a malicious release can retire the currently locked release, and the next mix deps.update that unlocks the package selects the new release regardless of its age. Hex.Registry.Cooldown.versions/2 checks the bypass by package name alone, so the bypass also covers packages with the same name in other repositories. Cooldown configured through an organization dependency policy is not affected.
This issue affects hex: from 2.5.0 before 2.5.2.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 30% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HE
hex · hexpm
2.5.0 before 2.5.2; b4e665d46be8a5f81e8cbbe4c3a67058a19cf133 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-105668
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-105668
related
https://github.com/hexpm/hex/security/advisories/GHSA-pqhp-5x9x-69h7
related
https://cna.erlef.org/cves/CVE-2026-105668.html
related
https://osv.dev/vulnerability/EEF-CVE-2026-105668
related
https://github.com/hexpm/hex/commit/b4e665d46be8a5f81e8cbbe4c3a67058a19cf133
patch
https://github.com/hexpm/hex/commit/eed2bdf85320ae9e244629511c03f5f3f8c5d0b5
patch
https://github.com/hexpm/hex/commit/1b6fddfeadd98ed26a143f60356efade0494e2ae
More from hex
7.5
CVE-2026-96612
Path traversal in Hex via unvalidated dependency app names
7.5
CVE-2026-21619
Unsafe Deserialization of Erlang Terms in hex_core
6.9
CVE-2026-105280
Hex writes unverified package tarballs to standard output in mix hex.package fetch
5.9
CVE-2026-96596
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
5.9
CVE-2026-103503
Hex trusts its bundled CA certificates when cacerts_path is set
