Dirty Frag: Chuỗi khai thác kernel mới hạ gục hàng loạt bản phân phối Linux

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
136
1.875 bài viết
Dirty Frag: Chuỗi khai thác kernel mới hạ gục hàng loạt bản phân phối Linux
Một chuỗi khai thác leo thang đặc quyền mới mang tên Dirty Frag đang làm dấy lên lo ngại lớn trong cộng đồng Linux khi có thể giúp kẻ tấn công chiếm quyền root trên hàng loạt bản phân phối phổ biến như Ubuntu, RHEL, Fedora hay openSUSE. Đáng chú ý, lỗ hổng hiện chưa có bản vá chính thức, trong khi mã khai thác đã bị phát tán công khai.
Dirty Frag.png

Lỗ hổng được phát hiện bởi nhà nghiên cứu bảo mật người Hàn Quốc Hyunwoo Kim. Tuy nhiên, do một bên thứ ba làm rò rỉ thông tin trước thời hạn embargo, tác giả đã buộc phải công khai toàn bộ mã PoC vào ngày 8/5/2026 khi các hãng Linux vẫn chưa kịp phát hành bản vá. Đáng lo ngại, chuỗi khai thác Dirty Frag hiện chưa được gán mã CVE và chưa có bản sửa lỗi cho bất kỳ bản phân phối nào bị ảnh hưởng.

Theo các chuyên gia bảo mật, Dirty Frag được xem là “truyền nhân” nguy hiểm của Dirty Pipe hay Copy Fail vì cùng nhắm vào page cache - vùng bộ nhớ đệm mà kernel Linux sử dụng để lưu tạm nội dung file nhằm tăng tốc độ truy xuất dữ liệu. Bằng cách khai thác lỗi logic trong cơ chế xử lý của kernel, kẻ tấn công có thể ép hệ thống tự ghi đè dữ liệu trực tiếp bên trong page cache, từ đó thay đổi nội dung file hoặc chèn dữ liệu trái phép mà không cần có quyền chỉnh sửa file gốc trên ổ đĩa.

Chuỗi Dirty Frag thực chất là sự kết hợp của hai lỗ hổng riêng biệt trong kernel Linux. Khi được khai thác cùng lúc, chúng có thể mở rộng phạm vi tấn công trên hàng loạt bản phân phối Linux phổ biến, gồm:​
  • xfrm-ESP Page-Cache Write: Lỗ hổng nằm trong thành phần mạng IPsec/ESP tại hàm esp_input(), tồn tại từ năm 2017. Do bỏ sót một bước kiểm tra quan trọng trong quá trình xử lý dữ liệu mạng, kernel có thể bị ép ghi trực tiếp dữ liệu vào page cache. Điều này cho phép kẻ tấn công kiểm soát chính xác vị trí và nội dung dữ liệu được ghi, mở đường cho việc chỉnh sửa trái phép nội dung file trong hệ thống.​
  • RxRPC Page-Cache Write: Lỗ hổng tồn tại từ năm 2023, nằm trong subsystem RxRPC/rxkad tại hàm rxkad_verify_packet_1(). Lỗi này cho phép quá trình giải mã dữ liệu diễn ra trực tiếp trên page cache mà không cần quyền đặc biệt. Kẻ tấn công có thể chuẩn bị sẵn khóa giải mã ngay từ user-space trước khi kích hoạt thao tác ghi từ kernel, giúp toàn bộ quá trình khai thác hoạt động ổn định và ít phụ thuộc vào điều kiện hệ thống.​
Khác với nhiều lỗ hổng leo thang đặc quyền dạng race condition vốn phụ thuộc vào timing và dễ làm treo hệ thống khi khai thác thất bại, Dirty Frag được đánh giá nguy hiểm hơn do hoạt động dựa trên lỗi logic trong kernel. Theo nhà nghiên cứu Hyunwoo Kim, chuỗi khai thác này không yêu cầu điều kiện khai thác phức tạp, hầu như không gây crash kernel và thường thành công ngay từ lần thử đầu tiên.
demo (1) (1).gif

Điểm đáng lo ngại nằm ở cách hai lỗ hổng trong Dirty Frag bổ trợ cho nhau để mở rộng phạm vi ảnh hưởng trên gần như toàn bộ hệ sinh thái Linux. Nhánh khai thác thông qua IPsec/ESP yêu cầu khả năng tạo user namespace không đặc quyền - tính năng đôi khi bị Ubuntu hạn chế bằng AppArmor. Ngược lại, nhánh RxRPC không cần namespace, nhưng module rxrpc.ko lại thường không được bật mặc định trên nhiều bản phân phối, ngoại trừ Ubuntu nơi module này tự động được nạp.

Bằng cách kết hợp cả hai kỹ thuật trong cùng một chuỗi khai thác, Dirty Frag có thể vượt qua giới hạn của từng nhánh riêng lẻ và giành quyền root trên hàng loạt hệ thống như Ubuntu 24.04.4, RHEL 10.1, CentOS Stream 10, AlmaLinux 10, Fedora 44 và openSUSE Tumbleweed, ảnh hưởng tới các kernel Linux thuộc nhánh 7.0.x. Đáng chú ý, chuỗi khai thác này vẫn hoạt động ngay cả trên các hệ thống đã triển khai biện pháp giảm thiểu cho Copy Fail, chẳng hạn blacklist module algif_aead, do Dirty Frag tác động lên các subsystem hoàn toàn khác trong kernel Linux.

Trong lúc chờ bản vá chính thức, biện pháp giảm thiểu khả thi nhất hiện nay là vô hiệu hóa hoặc gỡ các module kernel dễ bị khai thác gồm esp4, esp6 và rxrpc. Theo khuyến nghị từ nhà nghiên cứu, quản trị viên có thể áp dụng lệnh dưới đây để chặn các module này tải vào hệ thống:
Mã:
sh -c "printf 'install Esp4 /bin/false\ninstall Esp6 /bin/false\ninstall rxrpc /bin/false\n' \
> /etc/modprobe.d/dirtyfrag.conf; rmmod Esp4 Esp6 rxrpc 2>/dev/null; true"

Biện pháp này sẽ tạm thời vô hiệu hóa các thành phần liên quan đến IPsec ESP và RxRPC nhằm ngăn chuỗi khai thác Dirty Frag hoạt động. Với phần lớn máy trạm và máy chủ thông thường, thay đổi này gần như không gây ảnh hưởng đáng kể. Tuy nhiên, các tổ chức đang sử dụng VPN IPsec ở chế độ ESP cần đánh giá kỹ trước khi triển khai, do việc vô hiệu hóa module có thể làm gián đoạn một số kết nối bảo mật hiện có.

Do mã khai thác đã bị phát tán công khai trong khi bản vá vẫn chưa sẵn sàng, các chuyên gia khuyến cáo quản trị viên hệ thống cần theo dõi sát các kênh cảnh báo bảo mật từ nhà phân phối Linux để cập nhật kernel ngay khi bản vá được phát hành.
Tổng hợp
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
dirty frag kernel linux kernel
Bên trên