CVE-2026-43389 in Linuxthông tin

Tóm tắt

Bởi VulDB • 21/05/2026

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

mm: memfd_luo: luôn đánh dấu tất cả các folio là dirty

Một folio dirty là folio đã được ghi dữ liệu. Một folio clean là trạng thái ngược lại. Vì một folio clean không chứa dữ liệu người dùng, nó có thể được giải phóng khi áp lực bộ nhớ (memory pressure) tăng cao.

Cơ chế bảo toàn memfd với LUO lưu lại cờ tại thời điểm preserve(). Điều này gây ra vấn đề. Folio có thể bị đánh dấu dirty sau đó. Việc lưu lại tại thời điểm freeze() cũng không hoạt động, vì bit dirty từ PTE thường được đồng bộ hóa tại thời điểm unmap và vẫn có thể tồn tại các ánh xạ (mappings) của tệp tại thời điểm freeze().

Để hiểu tại sao đây là một vấn đề, giả sử một folio là clean tại thời điểm preserve, nhưng sau đó bị đánh dấu dirty. Trạng thái được tuần tự hóa của folio sẽ đánh dấu nó là clean. Sau khi retrieve, kernel tiếp theo sẽ thấy folio là clean và có thể cố gắng thu hồi nó khi áp lực bộ nhớ tăng cao. Điều này sẽ dẫn đến mất dữ liệu người dùng.

Đánh dấu tất cả các folio của tệp là dirty, và luôn đặt cờ MEMFD_LUO_FOLIO_DIRTY. Điều này đi kèm với hiệu ứng phụ là làm cho tất cả các folio clean không thể thu hồi được. Đây là một chi phí phải trả cho các thành viên tham gia live update. Dù sao, việc bảo toàn nhiều folio clean cũng không được kỳ vọng là một trường hợp sử dụng phổ biến.

Vì giá trị của pfolio->flags giờ đây là một hằng số, hãy bỏ biến flags và đặt trực tiếp.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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.00014

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!