CVE-2025-10879
Executive Summary
CVE-2025-10879 identifies a critical security flaw in the Dingtian DT-R002 device, a router or IoT appliance. The vulnerability allows an unauthenticated attacker to retrieve the current user's username by exploiting insufficiently protected credentials. This exposure of usernames can facilitate brute-force attacks, social engineering, or targeted credential harvesting, potentially leading to full device compromise. The vendor has not released a patch, and no public proof-of-concept (PoC) or exploit code is available at this time. The vulnerability is classified under CWE-522 (Insufficiently Protected Credentials) and aligns with MITRE ATT&CK tactic T1552 (Unsecured Credentials).
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
The CVSS score is reported as 0.0, which is unusual and likely indicates incomplete scoring data. Based on the vulnerability description, a reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Network (N) – The vulnerability is exploitable 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): None (N) – No user action is required.
- Scope (S): Unchanged (U) – The exploit does not affect other components.
- Confidentiality (C): Low (L) – Only usernames are exposed, not full credentials.
- Integrity (I): None (N) – No data modification is possible.
- Availability (A): None (N) – No denial of service.
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Estimated Base Score: 5.3 (Medium)
Threat Level: Medium. The vulnerability is easy to exploit remotely without authentication, but the impact is limited to username disclosure. However, this can be a stepping stone for more severe attacks.
Deep Dive & Mechanics
The Dingtian DT-R002 device exposes an endpoint or service that returns the current user's username without requiring authentication. This is likely due to a misconfigured API, web interface, or SNMP service that does not enforce access controls. The vulnerability is present in all versions of the device, indicating a fundamental design flaw.
Potential Attack Vector:
- An attacker on the same network (or remotely if the device is exposed to the internet) can send a crafted HTTP request to the device's management interface.
- The device responds with the username of the currently logged-in user (e.g., "admin").
- This information can be used to launch brute-force attacks against the device's login page, knowing the valid username.
Root Cause:
- The device's firmware does not properly validate authentication before serving sensitive user information. This is a classic case of insufficient access control.
Vulnerable vs. Patched Code
Since no patch is available, a comparison cannot be made. However, a hypothetical fix would involve:
Vulnerable Code (Conceptual):
@app.route('/api/current_user')
def get_current_user():
# No authentication check
return jsonify({"username": current_user})
Patched Code (Conceptual):
@app.route('/api/current_user')
@require_auth # Decorator to enforce authentication
def get_current_user():
return jsonify({"username": current_user})
Exploitation & Lab Setup
Red Team (Attack Simulation)
Lab Environment:
- Dingtian DT-R002 device (or emulator) on a local network.
- Attacker machine (Kali Linux) with network access to the device.
Exploitation Steps:
- Identify the device's IP address (e.g., via ARP scan or Shodan).
- Send a GET request to the vulnerable endpoint:
Or, if the endpoint is different, use a web fuzzer likecurl http://<device_ip>/api/current_userffufto discover it. - The response will contain the username in JSON or plaintext format.
- Use the username to perform a brute-force attack on the login page:
hydra -l <username> -P /usr/share/wordlists/rockyou.txt <device_ip> http-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"
Expected Output:
{"username": "admin"}
Blue Team (Defense & Detection)
Detection:
- Monitor for repeated requests to
/api/current_useror similar endpoints from unknown IPs. - Alert on any unauthenticated access to device management interfaces.
Mitigation:
- Isolate the device on a separate VLAN with strict firewall rules.
- Disable remote management if not required.
- Implement network segmentation to limit exposure.
Indicators of Compromise (IOCs)
- Network Traffic:
- HTTP GET requests to
/api/current_useror similar paths. - Unusual login attempts using the discovered username.
- HTTP GET requests to
- Logs:
- Device logs showing failed login attempts from multiple IPs.
- Access logs with requests to sensitive endpoints without authentication.
- File Hashes:
- N/A (No malware involved).
Detection Engineering
YARA Rule
rule Dingtian_DT_R002_Username_Disclosure {
meta:
description = "Detects attempts to exploit CVE-2025-10879 by requesting the current user endpoint"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-10879"
strings:
$endpoint = "/api/current_user" ascii wide nocase
$response = "username" ascii wide nocase
condition:
$endpoint or $response
}
Sigma Rule
title: Dingtian DT-R002 Username Disclosure Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects HTTP requests to the vulnerable endpoint on Dingtian DT-R002 devices
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-stem: '/api/current_user'
condition: selection
falsepositives:
- Legitimate administrative access (should be authenticated)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-10879 Dingtian DT-R002 Username Disclosure Attempt"; flow:to_server; content:"GET"; http_method; content:"/api/current_user"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Place the Dingtian DT-R002 device on a separate VLAN with strict access controls.
- Disable Remote Management: If not required, disable remote access to the device's web interface.
- Firewall Rules: Block external access to the device's management ports (e.g., 80, 443, 8080).
Long-Term Fix:
- Contact the vendor (Dingtian) for a firmware update. Since no patch is available, consider replacing the device with a more secure alternative.
- Implement a Web Application Firewall (WAF) to block requests to sensitive endpoints.
Workaround:
- If the device supports custom ACLs, restrict access to the management interface to trusted IPs only.
Report generated by Valters IT DevSecOps & CTI Division