CVE-2026-92298: EspoCRM: weak PRNG tokens allow opt-in/invite forgery
MEDIUMEspoCRM through 10.0.8 generates tokens for lead-capture opt-in, event invitation, and campaign URLs with PHP's rand() instead of a cryptographically secure generator, leaving only about 31 bits of guessable entropy. A remote unauthenticated attacker could guess tokens to confirm opt-ins, accept or decline event invitations for other contacts, and read event details. Risk is low: CVSS is 4.8 with high attack complexity, EPSS is 0.0043 (65th percentile), the CVE is not in CISA KEV, no public exploit or Nuclei template exists, and CISA SSVC says TRACK. The AI relevance is indirect and limited to a CRM that may feed AI agents or automated marketing workflows, and we found no dependent-package data. Upgrade to a release containing the upstream fix commit (8e5555c), and monitor for bursts of failed or sequential token requests against opt-in and invitation endpoints.
What is the risk?
Low overall. Exploitation needs no authentication or user interaction, but high attack complexity (brute-forcing or predicting a ~31-bit rand() space) limits practicality. Impact is confined to limited confidentiality and integrity of marketing consent state and event data, with no availability effect. There is no known exploitation, no public exploit, and a low EPSS. The CRM's connection to AI systems is indirect, so AI/ML exposure is minimal.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| EspoCRM | — | — | No patch |
Do you use EspoCRM? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade EspoCRM to a version that includes upstream commit 8e5555c, which replaces rand() with a secure generator. 2) Until patched, rate-limit and WAF-protect the opt-in, invitation, and campaign tracking URLs, and block clients making many sequential token guesses. 3) Review consent and RSVP records created since deployment for anomalies such as confirmations without matching email activity. 4) Where AI agents or automation consume CRM consent data, require independent verification before acting on it. 5) Detect by alerting on high request volumes with varying token parameters and on 404 or invalid-token spikes.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-92298?
EspoCRM through 10.0.8 generates tokens for lead-capture opt-in, event invitation, and campaign URLs with PHP's rand() instead of a cryptographically secure generator, leaving only about 31 bits of guessable entropy. A remote unauthenticated attacker could guess tokens to confirm opt-ins, accept or decline event invitations for other contacts, and read event details. Risk is low: CVSS is 4.8 with high attack complexity, EPSS is 0.0043 (65th percentile), the CVE is not in CISA KEV, no public exploit or Nuclei template exists, and CISA SSVC says TRACK. The AI relevance is indirect and limited to a CRM that may feed AI agents or automated marketing workflows, and we found no dependent-package data. Upgrade to a release containing the upstream fix commit (8e5555c), and monitor for bursts of failed or sequential token requests against opt-in and invitation endpoints.
Is CVE-2026-92298 actively exploited?
No confirmed active exploitation of CVE-2026-92298 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-92298?
1) Upgrade EspoCRM to a version that includes upstream commit 8e5555c, which replaces rand() with a secure generator. 2) Until patched, rate-limit and WAF-protect the opt-in, invitation, and campaign tracking URLs, and block clients making many sequential token guesses. 3) Review consent and RSVP records created since deployment for anomalies such as confirmations without matching email activity. 4) Where AI agents or automation consume CRM consent data, require independent verification before acting on it. 5) Detect by alerting on high request volumes with varying token parameters and on 404 or invalid-token spikes.
What systems are affected by CVE-2026-92298?
This vulnerability affects the following AI/ML architecture patterns: CRM-integrated AI agent workflows, marketing automation pipelines, agent frameworks consuming CRM data.
What is the CVSS score for CVE-2026-92298?
CVE-2026-92298 has a CVSS v3.1 base score of 4.8 (MEDIUM). The EPSS exploitation probability is 0.43%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationAML.T0091.000Application Access TokenCompliance Controls Affected
What are the technical details?
Original Advisory
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.
Exploitation Scenario
An attacker scripts requests against a public EspoCRM opt-in confirmation endpoint, enumerating or predicting tokens from the weak rand() output. Valid guesses confirm opt-ins for contacts who never consented, or accept and decline event invitations for others, exposing event details. A downstream AI-driven marketing or outreach agent then treats the forged consent as legitimate and sends communications, creating compliance exposure.
Weaknesses (CWE)
CWE-338 — Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG): The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.
- [Implementation] Use functions or hardware which use a hardware-based random number generation for all crypto. This is the recommended solution. Use CyptGenRandom on Windows, or hw_rand() on Linux.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:NReferences
- gist.github.com/kazisabu/9e3109aab24245fde19b88f53f965e93technical-description
- github.com/espocrm/espocrmproduct
- github.com/espocrm/espocrm/blob/10.0.8/application/Espo/Core/Utils/Util.phptechnical-description
- github.com/espocrm/espocrm/blob/10.0.8/application/Espo/Repositories/UniqueId.phptechnical-description
- github.com/espocrm/espocrm/commit/8e5555c1ee0ed1e92a9ad54e62f735ac2c4051a1patch
- vulncheck.com/advisories/espocrm-through-10.0.8-weak-token-generation-via-randthird-party-advisory
Timeline
Related Vulnerabilities
CVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Auth BypassGHSA-vvpj-8cmc-gx3910.0picklescan: security flaw enables exploitation
Same attack type: Auth BypassCVE-2025-282810.0LangChain RequestsToolkit: SSRF exposes cloud metadata
Same attack type: Auth BypassCVE-2025-5376710.0Azure OpenAI: SSRF EoP, no auth required (CVSS 10)
Same attack type: Privacy ViolationCVE-2026-2603010.0semantic-kernel: Code Injection enables RCE
Same attack type: Auth Bypass