Dirty Frag: Lỗ hổng leo thang đặc quyền mới trên Linux

Công nghệ08 tháng 5, 2026·3 phút đọc

Một lớp lỗ hổng mới có tên "Dirty Frag" đã được phát hiện, cho phép kẻ tấn công leo thang đặc quyền root trên nhiều bản phân phối Linux lớn. Lỗ hổng này kết hợp hai lỗi ghi Page-Cache trong xfrm-ESP và RxRPC, hoạt động xác định mà không cần điều kiện đua (race condition).

Dirty Frag: Lỗ hổng leo thang đặc quyền mới trên Linux

Dirty Frag: Lỗ hổng leo thang đặc quyền mới trên Linux

Một lớp lỗ hổng mới có tên "Dirty Frag" đã được phát hiện, cho phép kẻ tấn công leo thang đặc quyền root trên nhiều bản phân phối Linux lớn. Lỗ hổng này kết hợp hai lỗi ghi Page-Cache trong xfrm-ESP và RxRPC, hoạt động xác định mà không cần điều kiện đua (race condition).

Linux TuxLinux Tux

Tổng quan về Dirty Frag

Dirty Frag là một lớp lỗ hổng được phát hiện và báo cáo lần đầu bởi Hyunwoo Kim (@v4bel). Nó cho phép người dùng không có đặc quyền có được quyền root trên các bản phân phối Linux chính thông qua việc xâu chuỗi hai lỗ hổng: xfrm-ESP Page-Cache WriteRxRPC Page-Cache Write.

Đây là một trường hợp mở rộng của lớp lỗi mà "Dirty Pipe" và "Copy Fail" thuộc về. Điểm đặc biệt của Dirty Frag là nó là một lỗi logic xác định (deterministic logic bug), không phụ thuộc vào khoảng thời gian (timing window). Do đó, nó không yêu cầu điều kiện đua (race condition), kernel không bị panic khi khai thác thất bại và tỷ lệ thành công rất cao.

Các phiên bản bị ảnh hưởng

Lỗ hổng xfrm-ESP Page-Cache Write tồn tại từ phiên bản kernel cac2661c53f3 (ngày 17/01/2017) đến upstream hiện tại. Lỗ hổng RxRPC Page-Cache Write tồn tại từ phiên bản 2dc334f1a63a (tháng 6/2023) đến upstream hiện tại.

Nói cách khác, vòng đời hiệu quả của các lỗ hổng này là khoảng 9 năm. Dirty Frag đã được kiểm thử thành công trên các phiên bản phân phối sau:

  • Ubuntu 24.04.4: 6.17.0-23-generic
  • RHEL 10.1: 6.12.0-124.49.1.el10_1.x86_64
  • openSUSE Tumbleweed: 7.0.2-1-default
  • CentOS Stream 10: 6.12.0-224.el10.x86_64
  • AlmaLinux 10: 6.12.0-124.52.3.el10_1.x86_64
  • Fedora 44: 6.19.14-300.fc44.x86_64

Chi tiết kỹ thuật và CVE

Tại thời điểm công bố, lỗ hổng xfrm-ESP Page-Cache Write đã được gán mã CVE-2026-43284 và đã được vá trong nhánh mainline. Lỗ hổng RxRPC Page-Cache Write đã được dành sẵn mã CVE-2026-43500 để theo dõi, nhưng chưa có bản vá nào trong bất kỳ nhánh nào.

Tại sao lại phải xâu chuỗi hai lỗ hổng này?

  • xfrm-ESP Page-Cache Write cung cấp một nguyên ngữ STORE 4 byte tùy ý mạnh mẽ, có trên hầu hết các bản phân phối, nhưng nó yêu cầu đặc quyền để tạo không gian tên (namespace). Ubuntu đôi khi chặn việc tạo namespace người dùng không có đặc quyền thông qua chính sách AppArmor.
  • RxRPC Page-Cache Write không yêu cầu đặc quyền tạo namespace, nhưng module rxrpc.ko thường không được bao gồm trong hầu hết các bản phân phối. Tuy nhiên, trên Ubuntu, module này được tải mặc định.

Việc kết hợp hai biến thể này giúp che phủ các điểm mù của nhau, cho phép lấy đặc quyền root trên mọi bản phân phối lớn.

Giảm thiểu rủi ro (Mitigation)

Do lịch trình công bố có trách nhiệm và thời gian embarg đã bị phá vỡ, hiện chưa có bản vá chính thức cho bất kỳ bản phân phối nào. Người dùng có thể sử dụng lệnh sau để xóa các module chứa lỗ hổng và xóa bộ nhớ đệm trang (page cache):

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; echo 3 > /proc/sys/vm/drop_caches; true"

Sau khi chạy lệnh này, hệ thống sẽ an toàn tạm thời cho đến khi các nhà phân phối phát hành bản vá cập nhật.

⚠️ Lưu ý quan trọng: Sau khi chạy khai thác (nếu thử nghiệm), bộ nhớ đệm trang bị ô nhiễm. Để xóa bộ nhớ đệm bị ô nhiễm và đảm bảo ổn định hệ thống, hãy chạy lệnh echo 3 > /proc/sys/vm/drop_caches hoặc khởi động lại hệ thống.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗