CVE-2020-37094: EspoCRM 5.7.0 < 5.9.0 - Two-Factor Authentication Bypass via Auth Token Reuse Between Accounts with Identical Passwords
EspoCRM 5.7.0 prior to 5.9.0 contains an authentication token reuse vulnerability that allows authenticated attackers to bypass two-factor authentication by exploiting token-to-password-hash mapping in application/Espo/Core/Utils/Authentication/Espo.php. Attackers can obtain an authentication token for a controlled account and replay it against any victim account sharing the same password, since tokens are bound to password hashes rather than unique per-user values, bypassing the victim's 2FA protections.
Security readout for executives and security teams
Plain-English summary
EspoCRM 5.7.0 before 5.9.0 could let a logged-in attacker bypass another user’s two-factor authentication if both accounts use the same password. The issue weakens a key account-protection control and can expose CRM data without requiring user interaction.
Executive priority
Treat as high priority for any vulnerable EspoCRM deployment, especially internet-accessible CRM systems. The business risk is unauthorized access to customer, sales, or operational records despite 2FA being enabled.
Technical view
The vulnerability maps authentication tokens to password hashes rather than unique user values in application/Espo/Core/Utils/Authentication/Espo.php. An authenticated attacker can obtain a token for a controlled account and reuse it against a victim account with the same password hash, bypassing 2FA.
Likely exposure
Exposure is limited to EspoCRM deployments in the vulnerable 5.7.0 to pre-5.9.0 range. The source bundle explicitly identifies EspoCRM 5.7.0 and states versions prior to 5.9.0 are affected.
Exploitation context
The CVE is not listed as KEV, so active exploitation is not established here. However, the source bundle cites an ExploitDB entry, meaning public exploit information exists. Exploitation requires an authenticated attacker and a victim account sharing the same password.
Researcher notes
The key condition is password-hash collision through identical passwords across accounts, not a general unauthenticated bypass. Evidence supports public exploit availability, but not confirmed active exploitation. Validate against the patch commit and advisory before expanding affected-version assumptions.
Mitigation direction
Upgrade EspoCRM to version 5.9.0 or later, or apply the referenced patch commit.
Review EspoCRM vendor guidance before relying on temporary workarounds.
Force password changes where shared or weak passwords may exist.
Audit 2FA-protected accounts for suspicious sessions and token reuse patterns.
Validation and detection
Inventory EspoCRM instances and confirm exact running versions.
Check whether any instance is 5.7.0 or below the 5.9.0 fix boundary.
Review authentication code or package history for the referenced patch commit.
Inspect logs for unusual authenticated access across accounts sharing password history.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-303: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-303 · source CWE mapping
Incorrect Implementation of Authentication Algorithm
Incorrect Implementation of Authentication Algorithm represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.