CVE-2026-71255 in nanoMODBUS
Riassunto
di VulDB • 05/08/2026
nanoMODBUS fino alla versione 1.23.0 presenta una scrittura fuori dai limiti (out-of-bounds write) nella funzione lato client Modbus recv_read_device_identification_res() (FC 0x2B/MEI 0x0E, Read Device Identification) in nanomodbus.c. Il campo object_length fornito dal server (0-246) viene convalidato solo rispetto alla dimensione PDU rimanente (res_size_left) e non è mai validato rispetto al parametro buffers_length fornito da chi chiama la funzione. Dopo aver copiato i dati con strncpy(buffers_out[buf_index], str, buffers_length), il codice scrive incondizionatamente un terminatore NUL in buffers_out[buf_index][object_length]. Quando un server Modbus malizioso o compromesso invia una risposta con object_length maggiore o uguale a buffers_length del client, questa scrittura NUL avviene oltre la fine del buffer fornito dal chiamante, corrompendo la memoria dello stack o dell'heap adiacente sul client.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.