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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| cotonti | cotonti | ≤ 1.0.0 | — |
References
- GitHub Issue #1904 issue-tracking
- https://github.com/Cotonti/Cotonti product
- https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.functions.php#L97 technical-description
- https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.profile.php#L116 technical-description
- https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.register.php#L148 technical-description
- https://github.com/Cotonti/Cotonti/pull/1905 technical-description patch issue-tracking
- VulnCheck Advisory: Cotonti through 1.0.0 Predictable Validation Tokens via md5(microtime()) third-party-advisory