PT-2026-68125 · Unknown · Nanomodbus
CVSS v3.1
9.8
Critical
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Name of the Vulnerable Software and Affected Versions
nanoMODBUS versions prior to 1.23.1
Description
An out-of-bounds stack read exists in the
nmbs read device identification basic() and recv read device identification res() functions within nanomodbus.c. The issue occurs because the object id variable, which is read directly from a Modbus server, is used as an index for the order[3] stack array without bounds checking. If a malicious server provides an object id value of 3 or greater, the system reads garbage data from the stack. This value is subsequently used as an index for the buffers[] array, resulting in a wild pointer being passed to strncpy(). This allows an attacker to perform an arbitrary-address write using server-controlled data.Recommendations
Update to a version newer than 1.23.0.
As a temporary mitigation, restrict communication to trusted Modbus servers to prevent the processing of malicious Read Device Identification responses.
Exploit
Fix
Out of bounds Read
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Nanomodbus