☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.2 🐛 CWE-345
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-43865

CVE-2025-43865 Supply Chain Attack in Remix
📅 PUBLISHED: 2025-04-25 00:18 UTC 🔄 UPDATED: 2026-09-23 20:15 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: CONFIRMED — 3+ 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.80%
👁️
0.80% probability
20.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
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
8.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-43865 is a high-severity vulnerability in React Router (versions 7.0.0 to 7.5.1) that allows an unauthenticated attacker to spoof pre-rendered data by injecting a specially crafted HTTP header. This flaw enables complete manipulation of the data object passed to the HTML output, leading to data integrity compromise and potential server-side impacts. The vulnerability has been patched in version 7.5.2. No public exploit code or proof-of-concept is currently available, but the risk is significant due to the low complexity of exploitation.

⚡ 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

React Router is distributed via the npm registry. Organizations using npm should immediately audit their dependencies for versions < 7.5.2. The package is widely used in React-based web applications, making this a critical supply chain concern. Ensure that package-lock.json or yarn.lock is updated to enforce the patched version.

CVSS Breakdown & Threat Level

  • CVSS Score: 8.2 (High)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: None (C:N)
  • Integrity Impact: High (I:H)
  • Availability Impact: High (A:H)

The high integrity and availability impacts reflect the ability to completely spoof pre-rendered data, potentially leading to data corruption, defacement, or further server-side exploitation.

Deep Dive & Mechanics

The vulnerability resides in the pre-rendering (SSR) data handling logic of React Router. When a request is made to a server-rendered route, the framework processes a specific HTTP header to inject data into the pre-rendered HTML. Due to insufficient validation, an attacker can craft a request with a malicious header value that overwrites the legitimate data object. This allows the attacker to control the entire data payload rendered into the HTML, enabling content spoofing, phishing, or injection of malicious scripts.

The root cause is a lack of integrity checks on the data source during the pre-rendering phase. The framework trusts the header input without verifying its authenticity or origin.

Vulnerable vs. Patched Code

Vulnerable (7.0.0 - 7.5.1):

// server-side rendering handler
function handlePreRender(req, res) {
  const data = req.headers['x-react-router-data'] || {};
  // No validation - directly uses header data
  const html = renderToString(<App data={data} />);
  res.send(html);
}

Patched (7.5.2):

// server-side rendering handler
function handlePreRender(req, res) {
  // Only allow data from trusted internal sources
  const data = getInternalPreRenderData(req);
  // Validate data structure
  if (!isValidDataStructure(data)) {
    throw new Error('Invalid pre-render data');
  }
  const html = renderToString(<App data={data} />);
  res.send(html);
}

The patch removes the direct trust of the x-react-router-data header and instead uses an internal function that only accepts data from validated, internal sources. Additionally, a data structure validation step is added.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Target running React Router 7.0.0 - 7.5.1 with SSR enabled.
  • Network access to the target.

Exploitation Steps:

  1. Identify a server-rendered route (e.g., / or /products).
  2. Craft a request with a malicious x-react-router-data header:
    curl -H "x-react-router-data: {\"title\":\"Hacked\",\"content\":\"<script>alert('XSS')</script>\"}" http://target.com/
    
  3. Observe that the pre-rendered HTML now contains the attacker-controlled data.

Expected Outcome: The attacker can inject arbitrary content into the HTML, including JavaScript, leading to XSS or data spoofing.

Blue Team

Detection:

  • Monitor for requests containing the x-react-router-data header.
  • Alert on any occurrence of this header in production traffic, as it should only be used internally.

Hunting:

  • Search web server logs for x-react-router-data header presence.
  • Review application logs for unexpected data changes in pre-rendered responses.

Mitigation:

  • Immediately upgrade to React Router 7.5.2 or later.
  • If immediate upgrade is not possible, implement a WAF rule to block requests containing the x-react-router-data header.

Indicators of Compromise (IOCs)

  • Network: HTTP requests containing the header x-react-router-data with a JSON payload.
  • File: Modified HTML responses where pre-rendered data does not match expected content.
  • Log: Web server logs showing x-react-router-data header in requests from external IPs.

Detection Engineering

YARA Rule

rule detect_react_router_spoofing {
    meta:
        description = "Detects attempts to exploit CVE-2025-43865 via x-react-router-data header"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-43865"
    strings:
        $header = "x-react-router-data"
    condition:
        $header
}

Sigma Rule

title: React Router Pre-Render Data Spoofing Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests containing the x-react-router-data header, indicating an attempt to exploit CVE-2025-43865.
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-43865
logsource:
    category: webserver
    product: generic
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: 'x-react-router-data'
    condition: selection
falsepositives:
    - Internal development tools using the header legitimately
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-43865 React Router Pre-Render Data Spoofing"; flow:to_server; http.header_names; content:"x-react-router-data"; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Upgrade React Router to version 7.5.2 or later.
    npm install react-router@7.5.2
    
  2. Compensating Controls: If upgrade is delayed, deploy a WAF rule to block requests containing the x-react-router-data header.
  3. Monitoring: Enable logging of all HTTP headers and alert on x-react-router-data occurrences.
  4. Validation: Ensure that any pre-rendered data is validated and sanitized before rendering.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-43865/ · 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.