Description
nanoMODBUS through v1.23.0 contains an off-by-one buffer overflow in the recv_msg_header() function of the Modbus/TCP server that allows remote unauthenticated attackers to write one attacker-controlled byte past the end of the 260-byte receive buffer by sending a crafted MBAP frame whose Length field is set to 255. The overflow corrupts the adjacent buffer-index field of the nanoMODBUS state structure, resulting in denial of service through invalid memory accesses and, on bare-metal and RTOS targets without memory protection, one-byte information disclosure and writes to unintended register addresses on the Write Multiple Registers (FC16) handler path.
References (4)
Core 4
Core References
Product product
Vulnerable bounds check at nanomodbus.c line 369 (v1.23.0)
https://github.com/debevv/nanoMODBUS/blob/v1.23.0/nanomodbus.c#L369
Technical Description technical-description
CWE-193: Off-by-one Error
https://cwe.mitre.org/data/definitions/193.html
Technical Description technical-description
CWE-787: Out-of-bounds Write
https://cwe.mitre.org/data/definitions/787.html
Scores
CVSS v3
8.6
EPSS
0.0054
EPSS Percentile
40.9%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
yes
Technical Impact
partial
Details
CWE
CWE-193
CWE-787
Status
published
Products (1)
debevv/nanoMODBUS
< 1.23.0
Published
Jun 14, 2026
Tracked Since
Jun 14, 2026