Description
EspoCRM through 10.0.8 uses PHP's rand() function to generate tokens for lead-capture opt-in, event invitation, and campaign URLs instead of a cryptographically secure generator. Remote unauthenticated attackers can guess these roughly 31-bit tokens to confirm opt-ins, accept or decline event invitations on behalf of other contacts, and access event details.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
EspoCRM EspoCRM
Default version status: unaffected
0 to ≤ 10.0.8affected
pkg:github/espocrm/espocrmReferences
- https://gist.github.com/kazisabu/9e3109aab24245fde19b88f53f965e93 ↗
- https://github.com/espocrm/espocrm/commit/8e5555c1ee0ed1e92a9ad54e62f735ac2c4051a1 ↗
- https://github.com/espocrm/espocrm/blob/10.0.8/application/Espo/Core/Utils/Util.php#L585-L590 ↗
- https://github.com/espocrm/espocrm/blob/10.0.8/application/Espo/Repositories/UniqueId.php#L47 ↗
- https://github.com/espocrm/espocrm ↗
- https://www.vulncheck.com/advisories/espocrm-through-10.0.8-weak-token-generation-via-rand ↗