CVE-2026-21622

Source
https://cve.org/CVERecord?id=CVE-2026-21622
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-21622.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-21622
Aliases
Published
2026-03-05T22:16:12.963Z
Modified
2026-04-02T13:08:03.099955Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
[none]
Details

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/passwordreset.ex and program routines 'Elixir.Hexpm.Accounts.PasswordReset':canreset?/3.

This issue affects hexpm: from 617e44c71f1dd9043870205f371d375c5c4d886d before bb0e42091995945deef10556f58d046a52eb7884.

References

Affected packages

Git / github.com/hexpm/hexpm

Affected ranges

Type
GIT
Repo
https://github.com/hexpm/hexpm
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Database specific

unresolved_ranges
[
    {
        "events": [
            {
                "introduced": "2025-10-01"
            },
            {
                "fixed": "2026-03-05"
            }
        ]
    },
    {
        "events": [
            {
                "introduced": "0"
            },
            {
                "last_affected": "a"
            }
        ]
    },
    {
        "events": [
            {
                "introduced": "617e44c71f1dd9043870205f371d375c5c4d886d"
            },
            {
                "fixed": "bb0e42091995945deef10556f58d046a52eb7884"
            }
        ]
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-21622.json"