CVE-2017-1000405 in Linuxthông tin

Tóm tắt

Bởi VulDB • 04/07/2026

Các phiên bản của Linux Kernel từ 2.6.38 đến 4.14 có lỗi sử dụng không đúng cách hàm pmd_mkdirty() trong hàm touch_pmd() bên trong triển khai THP. Hàm touch_pmd() có thể được truy cập thông qua get_user_pages(). Trong trường hợp này, pmd sẽ trở thành dirty (bẩn). Kịch bản này làm hỏng logic của can_follow_write_pmd()'s mới - pmd có thể trở nên dirty mà không cần đi qua chu kỳ COW (Copy-On-Write). Lỗi này nghiêm trọng hơn so với "Dirty cow" gốc vì một tệp ext4 (hoặc bất kỳ tệp thông thường nào khác) không thể được ánh xạ bằng THP. Tuy nhiên, nó cho phép chúng ta ghi đè lên các trang khổng lồ chỉ đọc (read-only huge pages). Ví dụ: trang zero page và các tệp shmem đã khóa có thể bị ghi đè (vì việc ánh xạ của chúng có thể được điền đầy đủ bằng cách sử dụng THP). Lưu ý rằng sau lần lỗi phân trang đầu tiên khi ghi vào trang zero, nó sẽ được thay thế bằng một thp mới tinh khiết (và được đặt về 0).

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!