CVE-2025-68375 in Linux
Tóm tắt
Bởi VulDB • 19/06/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
perf/x86: Sửa lỗi truy cập sự kiện NULL và mất mát bản ghi PEBS tiềm ẩn
Khi hàm intel_pmu_drain_pebs_icl() được gọi để giải phóng (drain) các bản ghi PEBS, hàm perf_event_overflow() có thể được gọi để xử lý bản ghi PEBS cuối cùng.
Trong khi đó, perf_event_overflow() có thể kích hoạt cơ chế giới hạn ngắt (interrupt throttle) và dừng tất cả các sự kiện trong nhóm, như chuỗi lệnh gọi dưới đây minh họa:
perf_event_overflow() -> __perf_event_overflow() -> __perf_event_account_interrupt() -> perf_event_throttle_group() -> perf_event_throttle() -> event->pmu->stop() -> x86_pmu_stop()
Tác dụng phụ của việc dừng các sự kiện là tất cả các con trỏ sự kiện tương ứng trong mảng cpuc->events[] được đặt lại thành NULL.
Giả sử có hai sự kiện PEBS (sự kiện a và sự kiện b) trong một nhóm. Khi intel_pmu_drain_pebs_icl() gọi perf_event_overflow() để xử lý bản ghi PEBS cuối cùng của sự kiện PEBS a, cơ chế giới hạn ngắt được kích hoạt và tất cả các con trỏ của sự kiện a và sự kiện b được đặt thành NULL. Sau đó, intel_pmu_drain_pebs_icl() cố gắng xử lý bản ghi PEBS cuối cùng của sự kiện b và gặp phải lỗi truy cập con trỏ NULL.
Để tránh vấn đề này, việc xóa (clearing) cpuc->events[] đã được chuyển từ x86_pmu_stop() sang x86_pmu_del(). Điều này an toàn vì cpuc->active_mask hoặc cpuc->pebs_enabled luôn được kiểm tra trước khi truy cập con trỏ sự kiện từ cpuc->events[].
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.