# ABB AC500 V2 Modbus buffer over-read leaks response fragments

Published: 2026-05-26 · Severity: routine · Sectors: manufacturing, energy, infrastructure
Canonical: https://vorant.io/reports/f07cc041-1b69-56dd-8ede-3d124e0128a6/abb-ac500-v2-modbus-buffer-over-read-leaks-response-fragments

> ABB AC500 V2 firmware ≤2.5.2 leaks Modbus response fragments via unsupported function codes; patch to 2.5.3 or later.

ABB has disclosed a buffer over-read vulnerability in AC500 V2 programmable logic controllers affecting versions 2.5.2 and earlier. The vulnerability exists in the Modbus server implementation and is triggered when unsupported function codes are sent to the device. An attacker who sends crafted Modbus requests can cause invalid responses that contain fragments of previous Modbus telegrams, potentially exposing sensitive operational data that was transmitted earlier by the PLC. The vulnerability is tracked as CVE-2025-7745 and has been resolved in firmware version 2.5.3 released in 2016 and later versions.

The issue affects critical infrastructure environments worldwide, particularly in manufacturing, energy, and water/wastewater sectors where Modbus-based automation is deployed. ABB recommends upgrading affected systems to patched firmware and limiting Modbus server exposure to avoid transmitting sensitive data over Modbus channels. Defenders should prioritize patching AC500 V2 deployments, particularly those managing time-sensitive or safety-critical operations, and restrict network access to Modbus interfaces through segmentation and firewall controls. There is no public indication this vulnerability is being actively exploited in the wild.

## Mentioned in this report

- Vulnerabilities: CVE-2025-7745

## Detection guidance (public sample)

### Scripting or Shell Interpreter Connecting to Modbus TCP Port 502

ATT&CK: T1040

A Windows host process such as a script interpreter or LOLBin opening an outbound connection to TCP/502 (Modbus). This is a host-side proxy for crafted Modbus requests of the kind used to trigger the AC500 V2 over-read (CVE-2025-7745). The report gives no host telemetry, so this is a best-effort detection. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

```yaml
title: Scripting or Shell Interpreter Connecting to Modbus TCP Port 502
id: 3a63201a-7efe-5659-8ad7-82198b0a97d9
status: experimental
description: Detects script interpreters or living-off-the-land binaries initiating
  outbound connections to TCP port 502 (Modbus). Crafted Modbus requests with unsupported
  function codes can trigger the AC500 V2 buffer over-read (CVE-2025-7745), which
  leaks fragments of earlier Modbus telegrams. Legitimate SCADA/HMI software normally
  uses dedicated binaries rather than generic interpreters. The report has no host-level
  indicators, so this is a best-effort proxy. Tune with the list of authorised engineering
  hosts.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-146-02
tags:
- attack.discovery
- attack.t1040
- attack.t1201
logsource:
  category: network_connection
  product: windows
detection:
  selection:
    Initiated: 'true'
    DestinationPort: 502
    Image|endswith:
    - \python.exe
    - \pythonw.exe
    - \powershell.exe
    - \pwsh.exe
    - \cmd.exe
    - \wscript.exe
    - \cscript.exe
    - \mshta.exe
    - \node.exe
    - \ncat.exe
    - \nmap.exe
  condition: selection
falsepositives:
- Engineers or integrators using Python or PowerShell Modbus scripts for commissioning
  or testing on authorised engineering workstations
- Authorised OT asset-inventory or vulnerability scanners running from an interpreter
level: medium
author: Vorant
```

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://www.cisa.gov/news-events/ics-advisories/icsa-26-146-02

---

This is the free public brief from Vorant Threat Intelligence. When citing, attribute "Vorant" and link https://vorant.io/reports/f07cc041-1b69-56dd-8ede-3d124e0128a6/abb-ac500-v2-modbus-buffer-over-read-leaks-response-fragments.
In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), live profiles of the actors and CVEs it names, and the vendor research on the same campaign. Slack alerts fire on the vendors, sectors and countries a reader follows. A new account starts with three days of all of it, no card: https://vorant.io/signup
