nanoMODBUS through v1.23.0 contains an out-of-bounds stack read leading to a wild-pointer write in nmbs_read_device_identification_basic / recv_read_device_identification_res in nanomodbus.c. A fixed 3-element stack array order[3] = {0,1,2} maps object IDs to buffer indices. The server-supplied object_id field (0-255, read directly from the wire) is used without any bounds check as buf_index = order[object_id].
References
Configurations
No configuration.
History
24 Oct 2026, 15:10
| Type | Values Removed | Values Added |
|---|---|---|
| Summary | (es) nanoMODBUS hasta la v1.23.0 contiene una lectura de pila fuera de límites que lleva a una escritura de puntero salvaje en nmbs_read_device_identification_basic() / recv_read_device_identification_res() en nanomodbus.c. Un array de pila fijo de 3 elementos order[3] = {0,1,2} mapea IDs de objeto a índices de búfer. El campo object_id proporcionado por el servidor (0-255, leído directamente del cable) se utiliza sin ninguna comprobación de límites como buf_index = order[object_id]. Cuando un servidor Modbus malicioso envía una respuesta de Identificación de Dispositivo de Lectura con object_id mayor o igual que 3, esto lee un byte fuera de límites/basura de la pila adyacente a order[], que luego se utiliza como un índice en un array buffers[] de 3 elementos de punteros char. El puntero salvaje resultante se pasa a strncpy() como destino, causando una escritura de dirección arbitraria con datos controlados por el servidor. |
23 Oct 2026, 21:10
| Type | Values Removed | Values Added |
|---|---|---|
| Summary |
|
Information
Published : 2026-08-05 12:18
Updated : 2026-10-24 15:10
NVD link : CVE-2026-71256
Mitre link : CVE-2026-71256
CVE.ORG link : CVE-2026-71256
JSON object : View
Products Affected
No product.
CWE
CWE-125
Out-of-bounds Read
