# Critical Buffer Overflow Flaw in ABB Industrial PLCs Could Enable Remote Code Execution


## The Threat


ABB's AC500 V3 programmable logic controllers (PLCs) contain a critical stack-based buffer overflow vulnerability that requires immediate patching. The flaw resides in how the AC500 V3 PM5xxx firmware parses Cryptographic Message Syntax (CMS) structures used for signed and encrypted communications—a core security mechanism in industrial automation environments.


The vulnerability stems from improper validation of the Initialization Vector (IV) length when processing CMS AuthEnvelopedData or EnvelopedData messages that employ AEAD (Authenticated Encryption with Associated Data) ciphers such as AES-GCM. When the AC500 V3 firmware encounters a CMS message with a maliciously crafted IV, it copies the IV into a fixed-size stack buffer without first verifying that the IV length fits within the allocated space. This unchecked copy operation causes an out-of-bounds write that can corrupt the stack.


The most dangerous aspect of this vulnerability is that the overflow occurs *before* any cryptographic authentication checks or tag verification. An attacker needs no valid key material, no authenticated session, and no privileged access to trigger the flaw—a single specially crafted CMS message sent over the network is sufficient. Given that PLCs often operate on industrial networks with less stringent access controls than enterprise IT environments, and frequently communicate over legacy protocols with minimal encryption, this low barrier to exploitation represents a severe risk to critical infrastructure worldwide.


## Severity and Impact


| Property | Value |

|----------|-------|

| CVE ID | CVE-2025-15467 |

| CVSS v3.1 Score | 9.8 (CRITICAL) |

| Vector String | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C |

| Attack Vector | Network |

| Attack Complexity | Low |

| Privileges Required | None |

| User Interaction | None |

| Scope | Unchanged |

| Confidentiality Impact | High |

| Integrity Impact | High |

| Availability Impact | High |

| CWE | CWE-787: Out-of-bounds Write |


The CVSS 9.8 rating reflects the combination of network exploitability, zero authentication requirements, and the potential for complete system compromise. While actual remote code execution depends on platform-specific mitigations (ASLR, stack canaries, compiler protections), the underlying stack-based write primitive is severe enough to reliably cause denial-of-service conditions and likely enables code execution on many deployed AC500 V3 installations.


## Affected Products


ABB AC500 V3 Series:

  • AC500 V3 PM5xxx (all PLC types)
  • - Firmware version 3.9.0

    - Firmware version 3.9.0_HF1 (confirmed affected)


    The vulnerability affects all AC500 V3 PLC models within this firmware generation. Importantly, the advisory indicates this covers the entire AC500 V3 product line across different performance tiers used in small, medium, and high-end industrial automation applications.


    ## Mitigations


    Immediate Actions:


    1. Apply Firmware Updates — ABB has released firmware that corrects this vulnerability. Customers should download and apply the patched firmware version at the earliest opportunity from ABB's library portal.


    2. Network Segmentation — Restrict network access to AC500 V3 devices. Ensure that CMS message traffic originates only from trusted, authenticated sources within protected network segments. Disable unnecessary remote access and use industrial firewalls to limit which external systems can communicate with affected PLCs.


    3. Input Validation Monitoring — If immediate patching is not feasible, implement network-level monitoring to detect and block malformed CMS messages. Organizations should baseline normal message patterns and alert on unusual AuthEnvelopedData or EnvelopedData packet structures.


    4. Credential and Cryptographic Review — Verify that all cryptographic material used to secure CMS communications is current and uncompromised. If any unauthorized access to AC500 V3 devices is suspected, rotate authentication credentials immediately.


    5. Prioritize Critical Systems — Organizations operating AC500 V3 PLCs in critical manufacturing, energy, water/wastewater, or chemical processing should prioritize patching for devices that control essential processes.


    Longer-term Recommendations:


  • Conduct a comprehensive audit of all AC500 V3 deployments across your infrastructure
  • Update network segmentation policies to isolate industrial control systems
  • Implement defense-in-depth: assume that network isolation alone will eventually fail
  • Establish a regular firmware patching schedule for all PLC controllers

  • ## References


  • ABB PSIRT Advisory: https://search.abb.com/library/Download.aspx?DocumentID=3ADR011537&LanguageCode=en&Action=Launch
  • CVE-2025-15467 Details: https://nvd.nist.gov/vuln/detail/CVE-2025-15467
  • CWE-787 Out-of-bounds Write: https://cwe.mitre.org/data/definitions/787.html
  • CISA Alert: Available through CISA's ICS Advisory database

  • ---


    ## HackWire Analysis


    The timing and nature of this vulnerability expose a persistent blind spot in industrial control system security: the assumption that authentication is a sufficient gatekeeper for cryptographic operations. In IT security, we've known for two decades that parsing untrusted data is dangerous—yet the AC500 V3 firmware trusted the structure of CMS messages enough to skip length validation on a core cryptographic parameter.


    This is particularly dangerous because CMS and ASN.1 parsing are notoriously error-prone, yet they remain the foundation of secure communication in industrial systems. The fact that this overflow occurs *before* tag verification means an attacker doesn't even need to solve the cryptographic puzzle—they exploit the parser itself. This pattern echoes earlier vulnerability classes in OpenSSL, Java cryptographic libraries, and embedded systems that have repeatedly taught us: never trust external data, even if it's supposed to be encrypted.


    The AC500 V3's status as a global platform magnifies the risk. ABB's own advisory notes deployment across chemical, energy, and water/wastewater sectors worldwide. A coordinated exploit campaign targeting these facilities could cause widespread operational disruption. The low barrier to exploitation—no authentication needed, network-reachable—means this vulnerability will likely attract both sophisticated nation-state actors and opportunistic scanning botnets within weeks of public disclosure.


    For defenders, the key insight is that patching speed matters enormously here. Unlike vulnerabilities requiring authenticated access or user interaction, this flaw can be exploited by any actor with network visibility to an AC500 V3 device. Organizations should treat this as a P0 incident requiring emergency change management processes, not routine monthly patching cycles. The combination of CVSS 9.8, zero authentication requirements, and proven parsing flaws in cryptographic libraries suggests this will eventually see public exploit code and active weaponization.


    — HackWire Editorial


    ---


    ## Related Coverage


  • Read more in our [Vulnerabilities](https://www.hackwire.news/category/vulnerabilities) coverage
  • Cross-reference with [Breaches](https://www.hackwire.news/category/breaches) and [Malware](https://www.hackwire.news/category/malware)
  • Stay current via the [HackWire homepage](https://www.hackwire.news/)