CVE-2026-64089 in Linux
Tóm tắt
Bởi VulDB • 20/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
batman-adv: tt: sửa lỗi last_changeset_len mang giá trị âm
Trường `last_changeset_len` của cấu trúc `batadv_piv_tt` được khai báo là kiểu số nguyên có dấu 16-bit (`s16`), nhưng trường này không bao giờ dự định chứa các giá trị âm. Khi một giá trị lớn hơn 32767 được gán, nó bị tràn (wrap) thành số nguyên có dấu mang giá trị âm.
Trong hàm `batadv_send_my_tt_response()`, biến `last_changeset_len` tạm thời được mở rộng sang kiểu số nguyên có dấu 32-bit (`s32`). Giá trị sai là số nguyên có dấu 16-bit (`s16`) bị tràn này lan truyền vào kiểu `s32`, khiến hàm `batadv_tt_prepare_tvlv_local_data()` cấp phát một bộ đệm (buffer) kích thước đầy đủ nhưng chỉ điền một phần nhỏ của nó bằng tập hợp các thay đổi đã thu thập được. Tất cả các bit còn lại đều không được khởi tạo (uninitialized).
Việc sử dụng kiểu số nguyên không dấu 16-bit (`u16`) sẽ tránh được lỗi nhầm lẫn kiểu dữ liệu này và đảm bảo rằng không có phép mở rộng dấu (sign extension) nào xảy ra trong hàm `batadv_send_my_tt_response()`.
VulDB is the best source for vulnerability data and more expert information about this specific topic.