CVE-2026-54410
HIGH
8.6
CVSS 3.1
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.
Metadata
Severity & Metrics
8.6
HIGH CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
Affected products (1)
| Vendor | Product | Platform | Versions |
|---|---|---|---|
| debevv | nanoMODBUS | — | 0 ≤ 1.23.0 |
Weakness (CWE)
CVSS scores (3)
| Score | Severity | Version | Source | Vector |
|---|---|---|---|---|
| 9.0 | N/D | 2.0 | cna | AV:N/AC:L/Au:N/C:P/I:P/A:C |
| 8.6 | HIGH | 3.1 | cna | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H |
| 7.8 | HIGH | 4.0 | cna | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N/E:P/AU:Y |
References (4)
- nanoMODBUS - upstream repository (vendor) https://github.com/debevv/nanoMODBUS
- Vulnerable bounds check at nanomodbus.c line 369 (v1.23.0) https://github.com/debevv/nanoMODBUS/blob/v1.23.0/nanomodbus.c#L369
- CWE-193: Off-by-one Error https://cwe.mitre.org/data/definitions/193.html
- CWE-787: Out-of-bounds Write https://cwe.mitre.org/data/definitions/787.html