CRITICAL🇵🇱 Wersja polska

CVE-2026-21622

CVSS 9.5v4.0pub. 2026-03-05upd. 2026-04-06

Insufficient Session Expiration vulnerability in hexpm hexpm/hexpm ('Elixir.Hexpm.Accounts.PasswordReset' module) allows Account Takeover. Password reset tokens generated via the "Reset your password" flow do not expire. When a user requests a password reset, Hex sends an email containing a reset link with a token. This token remains valid indefinitely until used. There is no time-based expiration enforced. If a user's historical emails are exposed through a data breach (e.g., a leaked mailbox archive), any unused password reset email contained in that dataset could be used by an attacker to reset the victim's password. The attacker does not need current access to the victim's email account, only access to a previously leaked copy of the reset email. This vulnerability is associated with program files lib/hexpm/accounts/password_reset.ex and program routines 'Elixir.Hexpm.Accounts.PasswordReset':can_reset?/3. This issue affects hexpm: from 617e44c71f1dd9043870205f371d375c5c4d886d before bb0e42091995945deef10556f58d046a52eb7884.

🤖 AI Analysis
How it works

When a user initiates a password reset procedure, the Hex service sends an email with a reset token embedded in a link. This token has no time-based expiration mechanism — it remains valid indefinitely until it is used. The function responsible for token verification ('Elixir.Hexpm.Accounts.PasswordReset':can_reset?/3) does not check its issuance date. If the victim's email archive leaks (for example, due to a security breach at another service), an attacker can use any unused reset token contained in that archive and change the password to the Hex account.

Impact

An attacker can take over a user account on the Hex platform (Account Takeover), gaining the ability to publish, modify, or delete Elixir packages belonging to the victim, which can lead to further compromise of software supply chain integrity.

Mitigation & patch

Update hexpm to a version containing commit bb0e42091995945deef10556f58d046a52eb7884, which introduces time-based expiration for password reset tokens. Details available in vendor references: https://github.com/hexpm/hexpm/commit/bb0e42091995945deef10556f58d046a52eb7884 and https://github.com/hexpm/hexpm/security/advisories/GHSA-6r94-pvwf-mxqm

Who is affected

Application hexpm (hexpm/hexpm) — commits from 617e44c71f1dd9043870205f371d375c5c4d886d to (not including) bb0e42091995945deef10556f58d046a52eb7884

Analysis generated by Claude AI (Anthropic) based on NVD data. Always verify with vendor.
CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/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
  • Hex Hexpm

    APP
    Hex
    2025-10-01 – 2026-03-05 (excl.)
🔵
CHECK WITH VENDOR
No clear patch data available. Check vendor references.
CWE
References

Related vulnerabilities

CVE-2026-23940HIGH7.1same product

Uncontrolled Resource Consumption vulnerability in hexpm hexpm/hexpm allows Excessive Allocation. Publishing a...

CVE-2026-21621HIGH7.0same product

Incorrect Authorization vulnerability in hexpm hexpm/hexpm ('Elixir.HexpmWeb.API.OAuthController' module) allo...

CVE-2026-21618HIGH8.5same product

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in h...

CVE-2026-23939MEDIUM6.9same product

Luka path traversal w module 'Elixir.Hexpm.Store.Local' projektu hexpm/hexpm pozwala na względny path traversa...

CVE-2026-32148HIGH8.9same vendor

Insufficient Verification of Data Authenticity vulnerability in hexpm hex (Hex.RemoteConverger module) allows ...