VORANT. Threat Intelligence Research Sign in Create a free account

ABB Terra AC heap overflow via OCPP messaging

routine vulnerability energytransportationinfrastructure

Free public brief. The indicators, the detections with Splunk SPL already written (plus Elastic and KQL where they apply), and a Slack alert the next time this touches a vendor you run are in the app — free account, no card.

Heap-based buffer overflow in ABB Terra AC EV chargers allows remote firmware modification; no active exploitation reported.

ABB Terra AC wallbox electric vehicle chargers contain a heap-based buffer overflow vulnerability (CVE-2025-5517) triggered by specially crafted OCPP (Open Charge Point Protocol) messages sent to the Charging Station Management System (CSMS) backend. The vulnerability stems from insufficient validation of OCPP field lengths in the firmware, allowing an attacker with network access to the CSMS or the OCPP communication channel to pollute heap memory, potentially gain remote code execution, perform denial-of-service attacks, or modify flash firmware. Affected versions span multiple product variants (UL40/80A, UL32A, MID/CE, JP models) with version numbers up to 1.8.32 or 1.8.34 depending on the variant. ABB has released patched firmware versions (1.8.33–1.8.34) and strongly recommends updating immediately. At the time of advisory publication, no active exploitation had been observed. The attack requires either compromise of the CSMS backend or use of unencrypted HTTP communication between chargers and the backend, making network segmentation and mandatory TLS/HTTPS critical mitigations.

Mentioned in this report

Vulnerabilities CVE-2025-5517

Detection guidance

Oversized Identifier or Query in OCPP Endpoint Request

ATT&CK T1190

Detects requests to OCPP/CSMS web endpoints carrying abnormally long path segments or query strings, consistent with attempts to trigger length-validation flaws such as the ABB Terra AC heap overflow (CVE-2025-5517). 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.

title: Oversized Identifier or Query in OCPP Endpoint Request
description: Detects requests to OCPP/CSMS endpoints with abnormally long charge point
  ID path segments or query strings. OCPP identifiers are short (about 20 chars),
  so very long values suggest malformed input aimed at field-length validation flaws
  like CVE-2025-5517. Payload bodies are not logged by web servers, so this only covers
  the URI part of the channel.
tags:
- attack.initial-access
- attack.t1190
- attack.impact
- attack.t1499
logsource:
  category: webserver
detection:
  selection_path:
    cs-uri-stem|re: (?i)/ocpp[^/]*/[^/]{128,}
  selection_query:
    cs-uri-stem|contains: /ocpp
    cs-uri-query|re: .{512,}
  condition: 1 of selection_*
falsepositives:
- Vendor charge point firmware that embeds long authentication tokens or serial strings
  in the OCPP URL
- Security scanners run by the operator against the CSMS
level: medium
id: e2eb345a-5bb0-5e98-a9a3-e2471e9c5c6b
status: experimental
author: Vorant
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-146-01

Cleartext OCPP Communication to CSMS Backend

ATT&CK T1190

Detects OCPP traffic carried over unencrypted HTTP/WS, the exposure the ABB advisory cites as enabling message injection against chargers or the CSMS. 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.

title: Cleartext OCPP Communication to CSMS Backend
description: Detects OCPP sessions to a CSMS endpoint using unencrypted http or ws
  schemes. The ABB Terra AC advisory notes that cleartext charger-to-backend traffic
  allows an on-path attacker to inject crafted OCPP messages, so this flags the exposure
  condition. Treat it as a hardening and exposure signal rather than proof of exploitation.
tags:
- attack.initial-access
- attack.t1190
logsource:
  category: proxy
detection:
  selection:
    c-uri|contains: /ocpp
    cs-uri-scheme:
    - http
    - ws
  condition: selection
falsepositives:
- Isolated lab or test CSMS deployments that intentionally run without TLS
- Legacy chargers that do not support TLS and sit on a segmented network
level: low
id: 7187c5e6-3d7b-508c-8b3f-c33941a2e7ea
status: experimental
author: Vorant
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-146-01

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-01

What this brief leaves out

This page is the free tier: the write-up, the severity, the names. In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), the actors and CVEs it names as live profiles, and the vendor research on the same campaign — the primary source the news paraphrased, cited and read directly.

It sits in a corpus of 13,854 reports from 146 sources, 616 of them written in the last seven days, and it grows through the day.

A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Name the vendors you run and Slack hears about the reports that touch them — about forty a week that are yours, not the four hundred that are not.

Create a free account   What it costs