CVE-2026-121553 Details
Description
Cotonti through 1.0.0 generates registration and email-change validation tokens with md5(microtime()), allowing attackers to bypass email-ownership verification by predicting tokens. Attackers can derive the generation time from the HTTP Date header and compute candidate tokens offline. They then submit these tokens to the users.register.php validate handler to activate accounts or confirm email addresses they do not control.
A vulnerability in Cotonti versions through 1.0.0 allows for predictable validation tokens to be generated for registration and email-change processes. This is achieved by using md5 hashed microtime, which can be easily predicted and replicated. Attackers can derive the token generation time from the HTTP Date header, calculate potential tokens offline, and then submit these tokens to the validation handler to activate accounts or confirm email addresses they do not control.
To address this vulnerability, it is recommended to replace the token generation method with a more secure approach using a cryptographically secure random number generator. This can be done by creating a helper function that generates a secure token and using it in all relevant parts of the application.
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 Nov 3, 2026CISA-ADP
Assessed Nov 7, 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://github.com/Cotonti/Cotonti/issues/1904 | CISA-ADP | ExploitIssue TrackingTechnical AnalysisVendor |
| https://github.com/Cotonti/Cotonti | [email protected] | Vendor |
| https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.functions.php#L97 | [email protected] | Source CodeVendor |
| https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.profile.php#L116 | [email protected] | Source CodeVendor |
| https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.register.php#L148 | [email protected] | Source CodeVendor |
| https://github.com/Cotonti/Cotonti/issues/1904 | [email protected] | ExploitIssue TrackingTechnical AnalysisVendor |
| https://github.com/Cotonti/Cotonti/pull/1905 | [email protected] | Source CodeVendor |
| https://www.vulncheck.com/advisories/cotonti-through-1.0.0-predictable-validation-tokens-via-md5-microtime | [email protected] | AdvisoryBundle |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-338 | Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Cotonti | <= 1.0.0 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Nov 7, 2026 | CVE Modified | CISA-ADP |
| Nov 3, 2026 | New CVE Received | [email protected] |
Volerion