Read the docs
TI-2026-10208 Aliases CVE-2026-11826GHSA-3x22-r5w3-j249

OpenPLC_v3 Heap-Based Buffer Overflow in Modbus Master getData()

Priority MEDIUM 41CWE-122Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-122 and the CVSS impact.

Summary

OpenPLC_v3 contains a heap-based buffer overflow in the getData() function in webserver/core/modbus_master.cpp. getData() reads characters between two delimiters into a caller-supplied buffer with no size parameter and no bounds check. In parseConfig() the function is invoked with the 100-byte heap-allocated MB_device.dev_name field. An authenticated attacker with access to the OpenPLC web interface can send a crafted HTTP POST to the /modbus endpoint with an oversized device_name value; the value is persisted to mbconfig.cfg and parsed on load, overflowing dev_name and overwriting adjacent struct fields (protocol at offset 108, dev_address at offset 109, ip_port at offset 210). A 200-byte payload writes 100 bytes past the allocation. The result is heap corruption leading to runtime crash and denial of service of the PLC process control loop, with attacker-controlled overwrite of adjacent configuration fields. The upstream repository was archived on 2026-04-04 and no fix is expected; the vendor has confirmed the issue does not affect OpenPLC Runtime v4.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0075 55th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

No affected products listed by the sources yet.

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-11826
  2. 2026-10-03 Alias added: GHSA-3x22-r5w3-j249

References

  • TI-2021-08453 OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows allows remote… KEVCVSS 3.1HIGH 8.8
  • TI-2021-08454 OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows allows stored XSS via system_settings.shtm. KEVCVSS 3.1MEDIUM 5.4
  • TI-2024-22495 Stack-based buffer overflow in OpenPLC_v3 CVSS 3.1CRITICAL 9.8
  • TI-2024-26520 Incorrect type conversion in OpenPLC_v3 CVSS 3.1HIGH 7.5
  • TI-2024-26519 Incorrect type conversion in OpenPLC_v3 CVSS 3.1HIGH 7.5
  • TI-2024-24528 Out-of-bounds read in OpenPLC_v3 CVSS 3.1HIGH 7.5
See all 21 →

Sources