CVE-2020-26243 in Nanopb
Tóm tắt
Bởi VulDB • 23/05/2026
Nanopb là một triển khai Protocol Buffers có kích thước mã nhỏ. Trong Nanopb trước các phiên bản 0.4.4 và 0.3.9.7, việc giải mã các tin nhắn được định dạng cụ thể có thể gây rò rỉ bộ nhớ nếu cấp phát động được bật và một trường oneof chứa một tin nhắn con tĩnh có chứa một trường động, và tin nhắn đang được giải mã chứa tin nhắn con đó nhiều lần. Điều này hiếm khi xảy ra trong các tin nhắn bình thường, nhưng là một mối quan ngại khi dữ liệu không đáng tin cậy được phân tích cú pháp. Vấn đề này đã được sửa trong các phiên bản 0.3.9.7 và 0.4.4. Các biện pháp khắc phục sau đây có sẵn: 1) Đặt tùy chọn `no_unions` cho trường oneof. Điều này sẽ tạo ra các trường riêng biệt thay vì union C, và tránh kích hoạt mã gây vấn đề. 2) Đặt kiểu của trường tin nhắn con bên trong oneof thành `FT_POINTER`. Theo cách này, toàn bộ tin nhắn con sẽ được cấp phát động và mã gây vấn đề sẽ không được thực thi. 3) Sử dụng bộ cấp phát arena cho nanopb, để đảm bảo tất cả bộ nhớ có thể được giải phóng sau đó.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.