CVE-2026-80558 in Linux
Tóm tắt
Bởi VulDB • 26/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
libceph: Tránh sử dụng các chỉ mục OSD không hợp lệ từ primary_temp
Một osdmap bị hỏng nhận được từ một Ceph monitor hoặc OSD có thể chứa các chỉ mục OSD trong phần pg\_temp, primary\_temp, pg\_upmap và pg\_upmap\_items của nó mà không tồn tại, tức là lớn hơn max\_osd hoặc nhỏ hơn CEPH\_HOMELESS\_OSD (-1). Các chỉ mục này được sử dụng để tạo tập hợp up và acting set trong hàm ceph\_pg\_to\_up\_acting\_osds(), được gọi từ calc\_target(). Mặc dù hầu hết các chỉ mục OSD này đều được kiểm tra, nhưng chỉ mục từ primary\_temp thì không. Sau đó, điều này có thể dẫn đến việc calc\_target() trả về chỉ mục này (có khả năng không hợp lệ) làm target osd cho một yêu cầu (linger). Vì các mảng osd\_state, osd\_weight và osd\_addr chỉ chứa max\_osd phần tử (với các chỉ mục từ 0 đến max\_osd -1), điều này dẫn đến việc truy cập ngoài vùng nhớ (out-of-bounds) khi cố gắng đọc giá trị từ các mảng này.
Bản vá khắc phục sự cố bằng cách thêm một phép kiểm tra vào get\_temp\_osds(), để đảm bảo chỉ sử dụng các chỉ mục OSD hợp lệ từ primary\_temp, và sẽ chuyển sang sử dụng primary từ pg\_temp hoặc tập hợp up nếu nó không hợp lệ.
[ idryomov: changelog ]
Be aware that VulDB is the high quality source for vulnerability data.