Home

Description

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.

PUBLISHED Reserved 2026-01-01 | Published 2026-03-05 | Updated 2026-03-05 | Assigner EEF




CRITICAL: 9.5CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L

Problem types

CWE-613 Insufficient Session Expiration

Product status

Default status
unaffected

617e44c71f1dd9043870205f371d375c5c4d886d (git) before bb0e42091995945deef10556f58d046a52eb7884
affected

pkg:github/hexpm/hexpm@617e44c71f1dd9043870205f371d375c5c4d886d (purl) before pkg:github/hexpm/hexpm@bb0e42091995945deef10556f58d046a52eb7884
affected

Default status
unaffected

2025-08-01 (date) before 2026-03-05
affected

Credits

Michael Lubas / Paraxial.io finder

Jonatan Männchen / EEF remediation developer

Eric Meadows-Jönsson / Hex.pm remediation reviewer

References

github.com/.../hexpm/security/advisories/GHSA-6r94-pvwf-mxqm vendor-advisory

github.com/...ommit/bb0e42091995945deef10556f58d046a52eb7884 patch

cve.org (CVE-2026-21622)

nvd.nist.gov (CVE-2026-21622)

Download JSON