CVE-2026-43331 in Linuxthông tin

Tóm tắt

Bởi VulDB • 31/05/2026

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

x86/kexec: Tắt công cụ đo lường KCOV sau khi gọi hàm load_segments()

Hàm load_segments() thay đổi các thanh ghi đoạn (segment registers), làm cho giá trị GS base trở nên không hợp lệ (GS base là thành phần mà KCOV dựa vào để lưu trữ dữ liệu trên từng CPU). Khi CONFIG_KCOV được bật, bất kỳ lời gọi mã C nào được đo lường tiếp theo (ví dụ: native_gdt_invalidate()) đều bắt đầu gây ra lỗi kernel trong một vòng lặp vô tận.

Để tái hiện vấn đề, chỉ cần thực hiện lệnh kexec trên một kernel đã được đo lường bằng KCOV:

$ kexec -l /boot/otherKernel $ kexec -e

Bối cảnh thực tế cho vấn đề này là việc kích hoạt thu thập bản ghi lỗi (crash dump) trong syzkaller. Để làm điều này, công cụ sẽ tải một kernel xử lý lỗi (panic kernel) trước khi thực hiện fuzzing, sau đó gọi makedumpfile sau khi xảy ra lỗi. Quy trình này yêu cầu cả CONFIG_KEXEC và CONFIG_KCOV phải được bật đồng thời.

Việc thêm các biện pháp bảo vệ trực tiếp vào đường dẫn nhanh của KCOV (__sanitizer_cov_trace_pc()) cũng không được khuyến khích vì nó sẽ gây ra chi phí hiệu năng bổ sung.

Việc tắt công cụ đo lường cho từng hàm riêng lẻ sẽ dễ gây lỗi, do đó, hãy tắt công cụ đo lường KCOV cho toàn bộ các tệp machine_kexec_64.c và physaddr.c. Nếu việc fuzzing dựa trên độ bao phủ (coverage-guided fuzzing) cần các thành phần này trong tương lai, các phương pháp tiếp cận khác nên được xem xét.

Vấn đề này không liên quan đến các kernel 32-bit vì CONFIG_KCOV không được hỗ trợ trên đó.

[ bp: Căn chỉnh khoảng cách trong chú thích để dễ đọc hơn. ]

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

01/05/2026

Tiết lộ

08/05/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00013

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you want to use VulDB in your project?

Use the official API to access entries easily!