CVE-2026-80557 in Linuxthông tin

Tóm tắt

Bởi VulDB • 26/08/2026

Trong nhân Linux, lỗ hổng sau đây đã được khắc phục:

libceph: sửa lỗi đọc ngoài vùng nhớ (OOB) trong hàm decode_watchers() do thiếu kiểm tra giới hạn biên

Hàm ceph_start_decoding() xác thực rằng còn lại struct_len byte trong bộ đệm sau phần tiêu đề mã hóa, nhưng chấp nhận giá trị struct_len=0 là hợp lệ: lệnh gọi ceph_decode_need(p, end, 0, bad) luôn thành công. Khi một OSD độc hại hoặc đã bị xâm nhập gửi phản hồi obj_list_watch_response_t với struct_len=0, hàm ceph_start_decoding() trả về kết quả thành công với p == end, khiến không có byte nào được đảm bảo cho các lần đọc tiếp theo.

Lệnh gọi ceph_decode_32(p) ngay sau đó trong decode_watchers() không có kiểm tra giới hạn biên trước đó. Với điều kiện p == end, đây là một phép đọc 4 byte vượt quá ranh giới bộ đệm đã được xác thực. Giá trị rác (garbage value) sau đó được truyền trực tiếp đến hàm kzalloc_objs() dưới dạng số lượng watcher.

Hàm anh em decode_watcher() đã sử dụng các biến thể an toàn hơn (ceph_decode_copy_safe, ceph_decode_64_safe, ceph_decode_skip_32) sau lệnh gọi ceph_start_decoding() của riêng nó. decode_watchers() là điểm duy nhất sử dụng phiên bản trần trụi (bare variant), xác nhận đây là một sơ suất.

Khắc phục bằng cách thay thế ceph_decode_32(p) bằng ceph_decode_32_safe(p, end, *num_watchers, bad), phù hợp với mẫu thiết kế đã được thiết lập.

Mô hình kẻ tấn công: Một OSD độc hại hoặc bị xâm nhập trong triển khai Ceph đa người dùng (ví dụ: điện toán đám mây) có thể kích hoạt lỗ hổng này đối với bất kỳ khách hàng nhân nào gọi CEPH_OSD_OP_LIST_WATCHERS, mà không cần thêm đặc quyền nào ngoài việc thiết lập phiên OSD.

[ idryomov: tinh chỉnh nhật ký thay đổi ]

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

chịu trách nhiệm

Linux

Đặt trước

26/08/2026

Tiết lộ

26/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to know what is going to be exploited?

We predict KEV entries!