CVE-2026-33659
CVE-2026-33659 is a low-severity vulnerability in Espocrm with a CVSS 3.x base score of 3.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-367.
Key facts
- Severity: Low (CVSS 3.x base score 3.5)
- EPSS exploit prediction: 0% (25th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-22083
- Weakness: CWE-367
- Affected product: Espocrm
- Published:
- Last modified:
Description
EspoCRM is an open source customer relationship management application. In versions 9.3.3 and below, the POST /api/v1/Attachment/fromImageUrl endpoint is vulnerable to Server-Side Request Forgery (SSRF) via a DNS rebinding (TOCTOU) condition. Host validation uses dns_get_record() but the actual HTTP request resolves hostnames through curl's internal resolver (gethostbyname()), allowing the two lookups to return different IP addresses for the same hostname. A secondary issue exists where an empty DNS result (due to DNS failure, IPv6-only domains, or non-existent hostnames) causes the validation to implicitly allow the host without further checks. An authenticated attacker with default attachment creation access can exploit this gap to bypass internal IP restrictions and scan internal network ports, confirm the existence of internal hosts, and interact with internal HTTP-based services, though data extraction from binary protocol services and remote code execution are not possible through this endpoint. This issue has been fixed in version 9.3.4.
Frequently asked questions
- What is CVE-2026-33659?
- EspoCRM is an open source customer relationship management application. In versions 9.3.3 and below, the POST /api/v1/Attachment/fromImageUrl endpoint is vulnerable to Server-Side Request Forgery (SSRF) via a DNS rebinding (TOCTOU) condition. Host validation uses dns_get_record() but the actual HTTP request resolves hostnames through curl's internal resolver (gethostbyname()), allowing the two lookups to return different IP addresses for the same hostname. A secondary issue exists where an empty DNS result (due to DNS failure, IPv6-only domains, or non-existent hostnames) causes the validation to implicitly allow the host without further checks. An authenticated attacker with default attachment creation access can exploit this gap to bypass internal IP restrictions and scan internal network ports, confirm the existence of internal hosts, and interact with internal HTTP-based services, though data extraction from binary protocol services and remote code execution are not possible through this endpoint. This issue has been fixed in version 9.3.4.
- How severe is CVE-2026-33659?
- CVE-2026-33659 has a CVSS 3.x base score of 3.5, rated low severity. It is exploitable over network with high attack complexity, requires low privileges and no user interaction. Impact on confidentiality is low, integrity none, and availability none.
- Is CVE-2026-33659 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (25th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-33659?
- CVE-2026-33659 affects Espocrm. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-33659?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2026-33659 have an EU (EUVD) identifier?
- Yes. CVE-2026-33659 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-22083.
- When was CVE-2026-33659 published?
- CVE-2026-33659 was published on 2026-04-13 and last updated on 2026-06-17.
References
- https://github.com/espocrm/espocrm/commit/dca03cc3458e487362c26c746378a2d4de9990b1
- https://github.com/espocrm/espocrm/releases/tag/9.3.4
- https://github.com/espocrm/espocrm/security/advisories/GHSA-6m4j-fwrx-crh7
Affected products (1)
- cpe:2.3:a:espocrm:espocrm:*:*:*:*:*:*:*:*
More vulnerabilities in Espocrm
- CVE-2014-7985 — Critical (CVSS 10.0): Directory traversal vulnerability in EspoCRM before 2.6.0 allows remote attackers to include and execute arbitrary…
- CVE-2020-37094 — Critical (CVSS 9.8): EspoCRM 5.8.5 contains an authentication vulnerability that allows attackers to access other user accounts by…
- CVE-2026-33656 — Critical (CVSS 9.1): EspoCRM is an open source customer relationship management application. Prior to version 9.3.4, EspoCRM's built-in…
- CVE-2022-38843 — High (CVSS 8.8): EspoCRM version 7.1.8 is vulnerable to Unrestricted File Upload allowing attackers to upload malicious file with any…
- CVE-2019-14351 — High (CVSS 8.8): EspoCRM 5.6.4 is vulnerable to user password hash enumeration. A malicious authenticated attacker can brute-force a…
- CVE-2025-32390 — High (CVSS 8.5): EspoCRM is a free, open-source customer relationship management platform. Prior to version 9.0.8, HTML Injection in…
Other CWE-367 (Time-of-check Time-of-use (TOCTOU) Race Condition) vulnerabilities
- CVE-2026-25641 — Critical (CVSS 10.0): SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, there is a sandbox escape vulnerability due to a…
- CVE-2025-64180 — Critical (CVSS 10.0): Manager-io/Manager is accounting software. In Manager Desktop and Server versions 25.11.1.3085 and below, a critical…
- CVE-2025-34027 — Critical (CVSS 10.0): The Versa Concerto SD-WAN orchestration platform is vulnerable to an authentication bypass in the Traefik reverse proxy…
- CVE-2026-25052 — Critical (CVSS 9.9): n8n is an open source workflow automation platform. Prior to versions 1.123.18 and 2.5.0, a vulnerability in the file…
- CVE-2025-13032 — Critical (CVSS 9.9): Double fetch in sandbox kernel driver in Avast/AVG Antivirus <25.3 on windows allows local attacker to escalate…
- CVE-2026-53838 — Critical (CVSS 9.8): OpenClaw before 2026.5.27 contains a state mutation vulnerability in node pairing reconnection that allows paired nodes…
Browse all CWE-367 (Time-of-check Time-of-use (TOCTOU) Race Condition) vulnerabilities →