CVE-2026-93868
highCotonti through 1.0.0 derives password recovery validation tokens from md5(microtime()) in users.passrecover.php, creating a predictable token space of approxi…
Cotonti through 1.0.0 derives password recovery validation tokens from md5(microtime()) in users.passrecover.php, creating a predictable token space of approximately one million values per second. Unauthenticated attackers can read the server Date header, precompute candidate tokens within a narrow time window, and probe them against the passrecover authentication endpoint to reset any account password including administrators.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H Affected products
Not reported by the source (unknown — not "none").
Weakness classification (CWE)
Source: NVD / CISA. “NVD-CWE-Other” and “NVD-CWE-noinfo” mean NVD could not assign a specific weakness.
Mitigation & advisories
No vendor advisory or patch reference tagged by NVD. Check the references below.
References
- https://github.com/Cotonti/Cotonti disclosure@vulncheck.com
- https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.passrecover.php disclosure@vulncheck.com
- https://github.com/Cotonti/Cotonti/issues/1890 disclosure@vulncheck.com
- https://github.com/Cotonti/Cotonti/pull/1898 disclosure@vulncheck.com
- https://www.vulncheck.com/advisories/cotonti-through-1.0.0-predictable-password-recovery-t... disclosure@vulncheck.com
- https://github.com/Cotonti/Cotonti/issues/1890 134c704f-9b21-4f2e-91b3-4a467353bcc0
