CVE-2025-52913
Executive Summary
CVE-2025-52913 is a critical path traversal vulnerability discovered in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab, affecting versions up to and including 9.8 SP2 (9.8.2.12). The vulnerability stems from insufficient input validation, allowing an unauthenticated attacker to traverse directories and access, corrupt, or delete sensitive user data and system configurations. This flaw poses a severe risk to confidentiality, integrity, and availability of affected systems. No public proof-of-concept (PoC) or exploit code has been released at this time, and no official patch is available. The vulnerability is classified under MITRE ATT&CK tactic T1190 (Exploit Public-Facing Application) and CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).
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 affects the proprietary NuPoint Unified Messaging component within the Mitel MiCollab product, which is a closed-source enterprise communication platform. No open-source package dependencies are involved.
CVSS Breakdown & Threat Level
The CVSS score is currently listed as 0.0, indicating that no official CVSS vector has been assigned by NVD. However, based on the vulnerability description and impact, a reasonable estimated CVSS v3.1 vector would be:
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – Unauthenticated access.
- User Interaction (UI): None (N) – No user action needed.
- Scope (S): Unchanged (U) – Vulnerability affects only the vulnerable component.
- Confidentiality (C): High (H) – Full read access to user data and configurations.
- Integrity (I): High (H) – Ability to corrupt or modify data.
- Availability (A): High (H) – Ability to delete data, causing denial of service.
Estimated Base Score: 9.8 (Critical)
Threat Level: Critical. The combination of network-based, unauthenticated exploitation with high impact on all three security pillars makes this a top-priority vulnerability for any organization using Mitel MiCollab.
Deep Dive & Mechanics
The vulnerability resides in the NuPoint Unified Messaging (NPM) component, which handles voicemail, fax, and unified messaging services. The NPM component likely exposes HTTP or proprietary endpoints for user interaction, such as retrieving messages, managing settings, or uploading files.
Root Cause: Insufficient input validation on file path parameters. The application fails to sanitize user-supplied input used to construct file system paths. An attacker can inject path traversal sequences (e.g., ../) to escape the intended directory and access arbitrary files on the server.
Attack Vector: An unauthenticated attacker sends a specially crafted HTTP request to a vulnerable endpoint. For example, a request to retrieve a voicemail file might look like:
GET /npm/getMessage?file=../../../etc/passwd HTTP/1.1
Host: target.mitel.com
If the application does not properly validate the file parameter, it will read and return the contents of /etc/passwd.
Impact:
- Confidentiality: Read sensitive files such as configuration files (e.g.,
config.xml,database.ini), user data, and system files. - Integrity: Overwrite or corrupt critical files, potentially leading to service disruption or backdoor installation.
- Availability: Delete essential files, causing denial of service.
Affected Component: NuPoint Unified Messaging (NPM) within Mitel MiCollab versions 9.8 SP2 (9.8.2.12) and earlier.
Vulnerable vs. Patched Code
Since no patch is available, we can only analyze the vulnerable code pattern. The vulnerable code likely resembles:
Vulnerable Code (Pseudocode):
def get_message(file_name):
base_path = "/var/npm/messages/"
full_path = base_path + file_name
if os.path.exists(full_path):
return read_file(full_path)
else:
return "File not found"
Patched Code (Expected):
import os
def get_message(file_name):
base_path = "/var/npm/messages/"
# Sanitize input: remove path traversal sequences
safe_name = os.path.basename(file_name)
full_path = os.path.join(base_path, safe_name)
# Ensure the resolved path is within the base directory
real_path = os.path.realpath(full_path)
if not real_path.startswith(os.path.realpath(base_path)):
return "Invalid path"
if os.path.exists(real_path):
return read_file(real_path)
else:
return "File not found"
The patched version uses os.path.basename() to strip directory components and os.path.realpath() to resolve symlinks, then verifies the resolved path starts with the intended base directory.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy a vulnerable Mitel MiCollab instance (version 9.8 SP2 or earlier) in an isolated environment.
- Ensure the NPM component is accessible over the network.
Exploitation Steps:
- Identify the vulnerable endpoint (e.g.,
/npm/getMessage,/npm/download,/npm/upload). - Craft a request with path traversal payloads:
- Read
/etc/passwd:../../../etc/passwd - Read configuration:
../../../var/npm/config.xml - Delete a file:
../../../tmp/important.db(if DELETE method supported)
- Read
- Use tools like
curlor Burp Suite:curl -v "http://target.mitel.com/npm/getMessage?file=../../../etc/passwd" - Automate with a script:
import requests target = "http://target.mitel.com/npm/getMessage" payloads = ["../../../etc/passwd", "../../../etc/shadow", "../../../var/npm/config.xml"] for payload in payloads: r = requests.get(target, params={"file": payload}) print(f"[*] Payload: {payload}\n{r.text}\n")
Expected Output: Successful retrieval of sensitive files.
Blue Team (Defensive)
Detection:
- Monitor for HTTP requests containing
../or%2e%2e/in query parameters. - Alert on access to sensitive system files (e.g.,
/etc/passwd,/etc/shadow). - Use Web Application Firewall (WAF) rules to block path traversal patterns.
Mitigation:
- Apply input validation and sanitization as shown in the patched code.
- Restrict file system permissions to limit the impact of successful exploitation.
- Implement network segmentation to isolate MiCollab from critical systems.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests with path traversal sequences in URI parameters:
../..%2f%2e%2e%2f....//
- Unusual access to files outside the expected web root (e.g.,
/etc/passwd,/etc/shadow,C:\Windows\System32\config\SAM).
File System IOCs:
- Unexpected file reads or writes in system directories.
- Modified or deleted configuration files in
/var/npm/or equivalent.
Log IOCs:
- Web server logs showing requests with
../patterns. - Application logs indicating failed path validation attempts.
Detection Engineering
YARA Rule
rule CVE_2025_52913_Path_Traversal {
meta:
description = "Detects path traversal attempts targeting Mitel MiCollab NPM"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-52913"
strings:
$traversal1 = "../"
$traversal2 = "..\\"
$traversal3 = "%2e%2e%2f"
$traversal4 = "%2e%2e%5c"
$sensitive1 = "/etc/passwd"
$sensitive2 = "/etc/shadow"
$sensitive3 = "config.xml"
condition:
any of ($traversal*) and any of ($sensitive*)
}
Sigma Rule
title: CVE-2025-52913 Path Traversal in Mitel MiCollab NPM
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with path traversal patterns targeting Mitel MiCollab NPM
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- '../'
- '..\\'
- '%2e%2e%2f'
- '%2e%2e%5c'
condition: selection
falsepositives:
- Legitimate use of relative paths in some applications
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-52913 Path Traversal in Mitel MiCollab NPM"; flow:to_server,established; content:"GET"; http_method; content:"/npm/"; http_uri; content:"../"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate affected systems: If possible, disconnect vulnerable MiCollab instances from the network or restrict access via firewall rules.
- Apply virtual patching: Use WAF rules to block path traversal patterns (e.g.,
../,..%2f). - Monitor logs: Actively search for exploitation attempts using the provided IOCs and detection rules.
Long-term Fix:
- Vendor patch: Await an official patch from Mitel. Contact Mitel support for updates.
- Upgrade: When available, upgrade to a patched version of MiCollab.
- Code review: If source code is accessible, implement input validation as described in the patched code section.
Compensating Controls:
- Network segmentation: Place MiCollab in a DMZ with strict access controls.
- Least privilege: Run the NPM service with minimal file system permissions.
- File integrity monitoring: Deploy tools to detect unauthorized file changes.
Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert
Report generated for CVE-2025-52913
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.