---
id: CVE-2026-92298
title: >-
  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
summary: >-
  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 3…
severity: medium
cvss: 4.8
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N'
cwe:
  - CWE-338
vendor: EspoCRM
product: EspoCRM
affected:
  - EspoCRM <= 10.0.8
published: '2026-09-16'
updated: '2026-09-23'
sourceUpdated: '2026-09-23T17:17:45.337'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-92298'
references:
  - url: 'https://gist.github.com/kazisabu/9e3109aab24245fde19b88f53f965e93'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/espocrm/espocrm'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/espocrm/espocrm/blob/10.0.8/application/Espo/Core/Utils/Util.php#L585-L590
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/espocrm/espocrm/blob/10.0.8/application/Espo/Repositories/UniqueId.php#L47
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/espocrm/espocrm/commit/8e5555c1ee0ed1e92a9ad54e62f735ac2c4051a1
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/espocrm-through-10.0.8-weak-token-generation-via-rand
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
epss: 0.00324
epssPercentile: 0.25669
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-17T17:04:17.106694Z'
ingestedAt: '2026-09-16T02:48:25.629Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
