CVE-2026-105668 Details
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.
A protection mechanism failure vulnerability has been identified in the Hex package manager for the Elixir programming language, specifically in versions 2.5.0 prior to 2.5.2. This vulnerability allows package owners, or attackers who have compromised their accounts, to bypass the release-age cooldown for newly published versions. The cooldown is designed to prevent versions younger than a specified age from being used in dependency resolutions, allowing time for potential issues to be addressed. However, when a locked release is retired or marked with a security advisory, the cooldown is lifted for all versions of that package and its dependencies. This exploitation can lead to the automatic selection of a maliciously published version during dependency updates, without proper review.
Upgrade Hex to version 2.5.2 or later. After updating, a retired locked release will no longer lift the cooldown for its package, preventing the automatic selection of unreviewed versions. If a locked release has a security advisory, it will still lift the cooldown for that package and its direct dependencies, but only within the same repository.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 12, 2026CISA-ADP
Assessed Oct 16, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-105668.html | EEF | AdvisoryExploit |
| https://github.com/hexpm/hex/commit/1b6fddfeadd98ed26a143f60356efade0494e2ae | EEF | Source CodeVendor |
| https://github.com/hexpm/hex/commit/b4e665d46be8a5f81e8cbbe4c3a67058a19cf133 | EEF | Source CodeVendor |
| https://github.com/hexpm/hex/commit/eed2bdf85320ae9e244629511c03f5f3f8c5d0b5 | EEF | Source CodeVendor |
| https://github.com/hexpm/hex/security/advisories/GHSA-pqhp-5x9x-69h7 | EEF | AdvisoryRemedyVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-105668 | EEF | AdvisoryExploitRemedy |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-693 | Protection Mechanism Failure | EEF |
Affected Products
| Product | Versions |
|---|---|
| hexpm hex | >= 2.5.0, < 2.5.2 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 16, 2026 | CVE Modified | CISA-ADP |
| Oct 12, 2026 | New CVE Received | EEF |
Volerion