CVE-2025-36539
Executive Summary
CVE-2025-36539 is a denial-of-service (DoS) vulnerability in AVEVA PI Data Archive products. An authenticated user can trigger an uncaught exception that forces critical subsystems to shut down, leading to service disruption. The vulnerability has a CVSS score of 6.5 (Medium) and currently has no known public exploit, patch, or proof-of-concept. The EPSS score is 0.0%, indicating very low exploitation activity in the wild. However, given the critical role of PI Data Archive in industrial control systems (ICS), the risk to operational technology (OT) environments is significant.
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
- Attack Vector (AV): Network (N) – exploitable remotely.
- Attack Complexity (AC): Low (L) – no special conditions required.
- Privileges Required (PR): Low (L) – attacker needs valid credentials.
- User Interaction (UI): None (N) – no user action needed.
- Scope (S): Unchanged (U) – impact confined to the vulnerable component.
- Confidentiality (C): None (N) – no data exposure.
- Integrity (I): None (N) – no data modification.
- Availability (A): High (H) – complete loss of service.
Threat Level: Medium. The requirement for authentication reduces the attack surface, but the potential for disrupting industrial operations makes this a priority for OT security teams.
Deep Dive & Mechanics
The vulnerability resides in the exception handling logic of AVEVA PI Data Archive. When an authenticated user sends a specially crafted request, the software fails to catch an exception, causing the affected subsystem to crash. This can cascade to other dependent services, resulting in a full denial of service.
Root Cause: Improper exception handling (CWE-248) in the request processing pipeline. The software does not validate or sanitize certain inputs, leading to an unhandled exception that terminates the process.
Attack Vector: An authenticated attacker sends a malicious payload via the PI Data Archive API or network protocol (typically port 5450/TCP). The payload triggers an uncaught exception in a subsystem (e.g., the data retrieval or logging module), causing it to shut down.
Impact: Loss of real-time data collection, historian services, and alarm management. In OT environments, this can halt production monitoring and safety systems.
Vulnerable vs. Patched Code
No patch is currently available. The vulnerable code likely resembles:
// Vulnerable: No try-catch around external input
public void ProcessRequest(string input)
{
// Directly parse input without validation
var data = ParseInput(input);
// ... processing logic
}
A patched version would include proper exception handling:
// Patched: Wrap in try-catch and validate input
public void ProcessRequest(string input)
{
try
{
if (!IsValidInput(input))
throw new ArgumentException("Invalid input");
var data = ParseInput(input);
// ... processing logic
}
catch (Exception ex)
{
LogError(ex);
// Graceful degradation instead of crash
}
}
Exploitation & Lab Setup
Red Team
Prerequisites: Valid credentials for the PI Data Archive (e.g., piadmin or a service account). Network access to port 5450/TCP.
Exploit Steps:
- Identify the target PI Data Archive server (e.g., via Shodan dork
AVEVA PI Data Archive). - Authenticate using compromised credentials.
- Send a crafted request that triggers the uncaught exception. Example payload (conceptual):
import socket
target = "192.168.1.100"
port = 5450
# Crafted payload to trigger exception
payload = b"\x00\x01\x02" + b"A" * 1000 # Malformed data
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target, port))
sock.send(payload)
response = sock.recv(1024)
sock.close()
- Monitor the target for subsystem crashes (e.g., PI Data Archive service stops).
Blue Team
Detection:
- Monitor for repeated authentication failures followed by anomalous API calls.
- Watch for process crashes in PI Data Archive subsystems (e.g., PIDataArchive.exe, PIArchiveSubsystem.exe).
- Use network monitoring to detect malformed packets on port 5450.
Hunting:
- Search logs for unhandled exception messages (e.g., Event ID 1000, .NET Runtime errors).
- Correlate with authentication logs to identify the source user.
Mitigation:
- Restrict network access to PI Data Archive to trusted IPs only.
- Implement application-level input validation and rate limiting.
- Apply vendor patches as soon as they become available.
Indicators of Compromise (IOCs)
- Network: Unusual traffic on port 5450/TCP with malformed payloads.
- Logs: Event ID 1000 (Application Error) for PIDataArchive.exe or related processes.
- Process: Unexpected termination of PI Data Archive subsystems.
- File: Temporary crash dump files in the PI Data Archive installation directory (e.g.,
%PIHOME%\dumps\).
Detection Engineering
YARA Rule
rule CVE_2025_36539_PI_Data_Archive_DoS {
meta:
description = "Detects malformed payloads targeting AVEVA PI Data Archive"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-36539"
strings:
$payload1 = { 00 01 02 41 41 41 41 } // Example malformed pattern
$payload2 = "PI Data Archive" nocase
condition:
$payload1 and $payload2
}
Sigma Rule
title: CVE-2025-36539 - AVEVA PI Data Archive DoS Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects potential exploitation of CVE-2025-36539 via malformed network traffic
author: Valters IT
logsource:
category: network_connection
product: windows
detection:
selection:
DestinationPort: 5450
Payload|contains:
- '00 01 02'
- '41414141'
condition: selection
falsepositives:
- Legitimate malformed data from testing
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET 5450 (msg:"CVE-2025-36539 AVEVA PI Data Archive DoS Attempt"; flow:to_server; content:"|00 01 02|"; depth:3; content:"|41 41 41 41|"; distance:0; within:1000; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Isolate PI Data Archive servers from untrusted networks.
- Access Control: Review and restrict user permissions to only necessary accounts.
- Monitoring: Enable detailed logging for authentication and API calls.
- Input Validation: Implement application-level filtering for malformed requests (if possible).
Long-Term Fix:
- Await an official patch from AVEVA. Monitor the vendor’s security advisory page.
- Consider deploying a Web Application Firewall (WAF) or IPS with custom rules to block malformed payloads.
Workaround:
- If patching is not possible, disable unnecessary PI Data Archive subsystems or run them in a sandboxed environment.
Valters IT