CVE-2022-49124 in Linuxthông tin

Tóm tắt

Bởi VulDB • 27/06/2026

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

x86/mce: Khắc phục lỗi phần cứng (erratum) trên các lệnh sao chép chuỗi nhanh

Một kịch bản kernel panic hiếm gặp có thể xảy ra khi đáp ứng đồng thời các điều kiện sau do một erratum liên quan đến các lệnh sao chép chuỗi nhanh:

1) Có một lỗi không được sửa chữa. 2) Lỗi đó phải nằm ở dòng bộ nhớ cache (cache line) đầu tiên của một trang (page). 3) Nhân phải thực thi hàm page_copy từ trang ngay trước trang chứa lỗi.

Các lệnh sao chép chuỗi nhanh ("REP; MOVS*") có thể tiêu thụ một lỗi bộ nhớ không thể sửa chữa trong dòng cache _ngay sau_ vùng dữ liệu cần sao chép và kích hoạt MCE (Machine Check Exception).

Bit 0 của MSR_IA32_MISC_ENABLE có thể được đặt về 0 để vô hiệu hóa lệnh sao chép chuỗi nhanh, qua đó tránh các kiểm tra máy tính giả mạo (spurious machine checks) như vậy. Tuy nhiên, cách này ít được ưu tiên hơn do ảnh hưởng tiêu cực đến hiệu suất lâu dài. Vì việc nhiễm độc bộ nhớ (memory poison) là hiếm, nên mong muốn giữ nguyên trạng thái kích hoạt lệnh sao chép chuỗi nhanh cho đến khi xuất hiện MCE.

Intel đã xác nhận các điểm sau: 1. Lỗi phần cứng CPU liên quan đến sao chép chuỗi nhanh chỉ áp dụng cho thế hệ Skylake, Cascade Lake và Cooper Lake.

Trả về trực tiếp từ trình xử lý MCE sẽ dẫn đến: 2. Việc thực thi hoàn toàn lệnh "REP; MOVS*" mà không gây mất mát hoặc hỏng dữ liệu. 3. Không kích hoạt thêm một MCE nào trên dòng cache bị nhiễm độc kế tiếp do "REP; MOVS*". 4. Tiếp tục thực thi từ đúng vị trí trong mã nguồn. 5. Sẽ dẫn đến việc cùng lệnh đã kích hoạt MCE ban đầu sẽ ngay lập tức kích hoạt một MCE thứ hai đối với bất kỳ lỗi truy xuất dữ liệu nào khác có thể phục hồi bởi phần mềm. 6. Không an toàn nếu không vô hiệu hóa sao chép chuỗi nhanh, vì thao tác sao chép chuỗi nhanh tiếp theo trên cùng bộ đệm (buffer) của cùng CPU sẽ dẫn đến PANIC do MCE.

Giải pháp này nên khắc phục hoàn toàn erratum, với lưu ý duy nhất là lệnh sao chép chuỗi nhanh bị vô hiệu hóa trên siêu luồng (hyper thread) bị ảnh hưởng, dẫn đến suy giảm hiệu suất.

Tuy nhiên, giải pháp này vẫn tốt hơn việc hệ điều hành gặp sự cố do MCE kích hoạt cho một tiến trình không liên quan vì các truy cập "REP; MOVS*" trong ngữ cảnh nhân, ví dụ: copy_page.

Các lỗi được tiêm vào dòng cache thứ nhất của 8 trang ẩn danh (anonymous pages) của tiến trình 'proc1' và quan sát thấy việc tiêu thụ MCE từ 'proc2' mà không gây panic (trả về trực tiếp).

Nếu không có bản vá, máy chủ sẽ bị crash trong vài phút trên một tiến trình 'proc2' ngẫu nhiên do truy cập nhân từ copy_page.

[ bp: Sửa kiểu chú thích + tinh chỉnh, loại bỏ unlikely() khó xảy ra, cải thiện khả năng đọc của hàm quirk. ]

Be aware that VulDB is the high quality source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

26/02/2025

Tiết lộ

26/02/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00251

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!