☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-52892

CVE-2025-52892 Supply Chain Attack in Espocrm
📅 PUBLISHED: 2025-08-05 00:17 UTC 🔄 UPDATED: 2026-09-23 20:35 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
4.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-52892 is a medium-severity denial-of-service (DoS) vulnerability affecting EspoCRM versions 9.1.6 and below. The vulnerability is triggered when a user loads EspoCRM in a browser with double slashes in the URL (e.g., https://domain//#Admin). If the web server does not strip the double slash, it corrupts the Slim router's cache, rendering the entire EspoCRM instance unusable until a manual rebuild is performed. This is a client-initiated DoS that requires user interaction (clicking a crafted link) but does not require authentication. The fix is available in version 9.1.7.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to a package manager (NPM, PyPI, Go, Ruby). It is a direct vulnerability in the EspoCRM PHP application.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.5 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
  • Attack Vector (AV): Network (N) - The attack is carried out over the network.
  • Attack Complexity (AC): Low (L) - No special conditions are required.
  • Privileges Required (PR): None (N) - No authentication is needed.
  • User Interaction (UI): Required (R) - The victim must click a crafted link.
  • Scope (S): Unchanged (U) - The vulnerable component and the impacted component are the same.
  • Confidentiality (C): None (N) - No data is exposed.
  • Integrity (I): None (N) - No data is modified.
  • Availability (A): Low (L) - The application becomes unusable until a rebuild is performed.

Threat Level: Medium. The attack requires user interaction, but the impact is a complete denial of service for the EspoCRM instance.

Deep Dive & Mechanics

The vulnerability lies in how EspoCRM's Slim router handles URL caching. When a user accesses EspoCRM with a URL containing double slashes (e.g., https://domain//#Admin), the Slim router processes this malformed URI. If the web server (e.g., Apache, Nginx) does not normalize the URI by stripping the double slash, the router's cache becomes corrupted. This corrupted cache prevents the application from routing any requests correctly, effectively making the entire instance unusable.

The root cause is a lack of input validation on the request URI before it is used to generate the router cache. The fix in version 9.1.7 sanitizes the URI by removing double slashes before the cache is built.

Vulnerable vs. Patched Code

Vulnerable Code (<= 9.1.6): The vulnerable code likely resides in the Slim router initialization or cache generation logic. A simplified representation:

// Vulnerable: Directly uses the request URI without sanitization
$uri = $request->getUri();
$cacheKey = md5($uri);
// ... cache is generated using $cacheKey

Patched Code (>= 9.1.7): The patched code sanitizes the URI before using it:

// Patched: Sanitize the URI to remove double slashes
$uri = $request->getUri();
$uri = preg_replace('#/+#', '/', $uri); // Replace multiple slashes with one
$cacheKey = md5($uri);
// ... cache is generated using $cacheKey

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A vulnerable EspoCRM instance (version <= 9.1.6).
  • A web server that does not normalize double slashes (e.g., default Apache or Nginx configuration).

Exploitation Steps:

  1. Craft a malicious URL with double slashes: https://target-espocrm.com//#Admin
  2. Send this URL to a victim (e.g., via email, social engineering).
  3. When the victim clicks the link and loads the page, the Slim router cache becomes corrupted.
  4. The EspoCRM instance becomes unusable for all users until an administrator performs a rebuild.

Proof of Concept (PoC):

# Simple curl command to trigger the vulnerability
curl -k "https://target-espocrm.com//#Admin"

Blue Team (Defense & Detection)

Detection:

  • Monitor web server logs for requests containing double slashes (//) in the URI path.
  • Alert on any sudden increase in 500 Internal Server Errors from the EspoCRM application.
  • Monitor for "Rebuild" actions in the EspoCRM admin logs, as this is the only recovery method.

Mitigation:

  • Upgrade to EspoCRM version 9.1.7 or later.
  • As a temporary workaround, configure the web server to normalize URIs by stripping double slashes. For example, in Apache:
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    RewriteRule . %1/%2 [R=301,L]
    
  • In Nginx:
    location / {
        rewrite ^(.*)//(.*)$ $1/$2 permanent;
    }
    

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests with double slashes in the URI path (e.g., GET //#Admin HTTP/1.1).
    • Repeated 500 Internal Server Error responses from the EspoCRM application.
  • System IOCs:
    • Corrupted Slim router cache files in the EspoCRM data directory (e.g., data/cache/).
    • Application logs showing "Slim Application Error" or "Route cache corruption" messages.

Detection Engineering

YARA Rule

rule CVE_2025_52892_EspoCRM_DoubleSlash {
    meta:
        description = "Detects requests with double slashes targeting EspoCRM"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-52892"
    strings:
        $double_slash = "//"
        $espocrm_path = "/api/v1/" or "/#"
    condition:
        $double_slash and $espocrm_path
}

Sigma Rule

title: CVE-2025-52892 - EspoCRM Double Slash DoS
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with double slashes targeting EspoCRM
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache or nginx
detection:
    selection:
        cs-uri-query|contains: "//"
        cs-uri-stem|contains: "/api/v1/" or "/#"
    condition: selection
falsepositives:
    - Legitimate use of double slashes in some rare cases
level: medium

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-52892 - EspoCRM Double Slash DoS Attempt";
    flow:to_server,established;
    content:"//"; http_uri;
    content:"/api/v1/"; http_uri; nocase;
    sid:10000001;
    rev:1;
    reference:cve,2025-52892;
    classtype:attempted-dos;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade: Update EspoCRM to version 9.1.7 or later immediately.
  2. Web Server Configuration: If upgrade is not possible, configure the web server to normalize URIs by stripping double slashes (see Blue Team section above).
  3. Monitor: Enable logging and monitoring for double slash requests and 500 errors.

Long-Term Actions:

  1. Input Validation: Implement strict input validation on all user-supplied data, including URIs.
  2. Security Testing: Include fuzzing of URI paths in your security testing pipeline.
  3. Patch Management: Establish a process for timely application of security patches.

Workaround: If upgrading is not immediately possible, the web server rewrite rules provided in the Blue Team section can serve as a temporary mitigation.


Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-52892/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.