CVE-2026-71255 in nanoMODBUS
Tóm tắt
Bởi VulDB • 05/08/2026
nanoMODBUS qua phiên bản v1.23.0 chứa lỗi ghi vượt vùng nhớ (out-of-bounds write) trong hàm `recv_read_device_identification_res()` phía máy khách Modbus (FC 0x2B/MEI 0x0E, Đọc Nhận dạng Thiết bị) trong file nanomodbus.c. Trường `object_length` do máy chủ cung cấp (giá trị từ 0-246) chỉ được xác thực đối với kích thước PDU còn lại (`res_size_left`) và không bao giờ được kiểm tra so với tham số `buffers_length` do người gọi cung cấp. Sau khi sao chép dữ liệu bằng hàm `strncpy(buffers_out[buf_index], str, buffers_length)`, mã nguồn ghi ký tự kết thúc NULL (NUL terminator) một cách vô điều kiện tại vị trí `buffers_out[buf_index][object_length]`. Khi một máy chủ Modbus độc hại hoặc đã bị xâm nhập gửi phản hồi với giá trị `object_length` lớn hơn hoặc bằng `buffers_length` của máy khách, thao tác ghi ký tự NULL này sẽ vượt ra ngoài vùng nhớ do người gọi cung cấp, làm hỏng bộ nhớ stack hoặc heap liền kề trên phía máy khách.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.