Lỗ hổng Copy Fail trong Linux tồn tại gần một thập kỷ: 4 byte cũng đủ chiếm quyền root

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
131
1.852 bài viết
Lỗ hổng Copy Fail trong Linux tồn tại gần một thập kỷ: 4 byte cũng đủ chiếm quyền root
Một lỗ hổng leo thang đặc quyền nghiêm trọng vừa được công bố trong nhân Linux đang khiến cộng đồng an ninh mạng hoang mang, không phải vì nó “mới toanh” mà vì nó âm thầm tồn tại gần một thập kỷ trong lõi hệ điều hành mà hàng tỷ thiết bị đang sử dụng. Với một đoạn mã khai thác chỉ vài trăm byte, kẻ tấn công có thể biến một tài khoản người dùng bình thường thành quyền quản trị cao nhất, mở ra cánh cửa kiểm soát toàn bộ hệ thống.
root.jpg

Bức tranh tổng thể: Lỗ hổng là gì, xuất hiện ở đâu?​

Lỗ hổng được định danh là CVE-2026-31431, có điểm CVSS 7,8 (mức cao), được các nhóm nghiên cứu từ Xint.io và Theori phát hiện và đặt tên là “Copy Fail”. Đây là một lỗi leo thang đặc quyền cục bộ (Local Privilege Escalation - LPE) trong nhân Linux, ảnh hưởng đến hầu hết các bản phân phối phổ biến như Ubuntu, Red Hat Enterprise Linux, SUSE hay Amazon Linux.

Điểm đáng chú ý là lỗ hổng này không phải mới xuất hiện gần đây. Nó bắt nguồn từ một thay đổi trong mã nguồn kernel được đưa vào từ tháng 8/2017, nằm trong thành phần xử lý mật mã của hệ thống, cụ thể là module algif_aead. Từ đó đến nay, lỗi tồn tại âm thầm mà không bị phát hiện, len lỏi trong gần như toàn bộ hệ sinh thái Linux hiện đại.​

Nguyên nhân cốt lõi: Một “lỗi logic” nhỏ, hậu quả lớn​

Về bản chất, đây không phải lỗi tràn bộ nhớ hay lỗi race condition thường thấy, mà là một lỗi logic trong cách kernel xử lý dữ liệu mã hóa. Cụ thể, một tối ưu hóa trong module algif_aead đã vô tình cho phép một vùng bộ nhớ thuộc page cache (bộ nhớ đệm của file hệ thống) bị sử dụng sai mục đích.

Hệ quả là một người dùng không có quyền cao vẫn có thể ghi một lượng nhỏ dữ liệu (4 byte mỗi lần) vào nội dung của các file mà họ chỉ có quyền đọc, bao gồm cả các file hệ thống nhạy cảm.

Nghe có vẻ “ít ỏi”, nhưng trong thế giới bảo mật, 4 byte đúng chỗ có thể là đủ để phá vỡ toàn bộ hệ thống.​

Cách thức khai thác: Từ người thường lên root chỉ trong vài bước​

Kịch bản khai thác lỗ hổng này được các nhà nghiên cứu mô tả là cực kỳ đơn giản và đáng lo ngại. Một đoạn script Python khoảng 700 byte là đủ để thực hiện toàn bộ quá trình.

Đầu tiên, kẻ tấn công mở một socket đặc biệt của Linux (AF_ALG) và liên kết nó với cơ chế mã hóa AEAD. Sau đó, họ chuẩn bị một đoạn shellcode - tức là mã độc sẽ được thực thi. Bằng cách lợi dụng lỗi trong kernel, họ ghi đoạn mã này trực tiếp vào bộ nhớ đệm của một file hệ thống quan trọng như `/usr/bin/su`.

Khi hệ thống hoặc người dùng thực thi file này, kernel sẽ tải nội dung đã bị sửa đổi từ page cache thay vì từ đĩa. Kết quả là đoạn mã độc được chạy với quyền root.

Điểm đáng sợ nằm ở chỗ: quá trình này không cần race condition, không cần đoán địa chỉ bộ nhớ, không cần khai thác phức tạp. Nó ổn định, có thể lặp lại và hoạt động trên nhiều hệ thống khác nhau.​

Mức độ nguy hiểm: Vì sao “Copy Fail” đáng lo hơn bạn nghĩ?​

Thoạt nhìn, đây là lỗ hổng cục bộ, nghĩa là kẻ tấn công phải có quyền truy cập vào hệ thống trước. Nhưng trong bối cảnh hiện nay, điều đó không còn là rào cản lớn.

Trong môi trường server, container hay cloud, việc có một tài khoản người dùng hạn chế là điều rất phổ biến. Và từ điểm khởi đầu đó, lỗ hổng này cho phép leo thang lên quyền root gần như chắc chắn.

Đáng chú ý hơn, page cache trong Linux là tài nguyên dùng chung cho toàn hệ thống, bao gồm cả các container. Điều này đồng nghĩa với việc một container bị xâm nhập có thể ảnh hưởng sang container khác, phá vỡ mô hình cách ly vốn được tin tưởng.

Các chuyên gia đánh giá lỗ hổng này hội tụ bốn yếu tố hiếm khi xuất hiện cùng lúc: nhỏ gọn, dễ khai thác, khó phát hiện và có khả năng hoạt động trên nhiều hệ thống. Nó gợi nhớ đến lỗ hổng Dirty Pipe (CVE-2022-0847) trước đây, nhưng lần này xuất hiện ở một thành phần khác của kernel.​

Rủi ro và hậu quả: Không chỉ là chiếm quyền, mà là kiểm soát toàn bộ​

Nếu bị khai thác, hậu quả không dừng lại ở việc nâng quyền. Khi đã có quyền root, kẻ tấn công có thể:​
  • Cài đặt backdoor để duy trì quyền truy cập lâu dài​
  • Trích xuất dữ liệu nhạy cảm từ hệ thống​
  • Tắt hoặc qua mặt các cơ chế bảo mật​
  • Di chuyển ngang trong hệ thống nội bộ hoặc môi trường cloud​
  • Can thiệp vào pipeline CI/CD, biến nó thành điểm phát tán mã độc​
Trong môi trường doanh nghiệp, điều này có thể dẫn đến vi phạm dữ liệu quy mô lớn, gián đoạn dịch vụ, hoặc thậm chí là tấn công chuỗi cung ứng.​

Giải pháp và khuyến nghị: Không phải lỗi “lý thuyết”, cần hành động ngay​

Tin tích cực là các bản phân phối Linux lớn đã bắt đầu phát hành bản vá. Tuy nhiên, vấn đề thực tế không nằm ở “có bản vá hay chưa” mà là “đã cập nhật hay chưa”.

Các chuyên gia an ninh mạng khuyến nghị:​
  • Cập nhật kernel và hệ điều hành ngay khi có bản vá chính thức từ nhà cung cấp​
  • Rà soát các hệ thống sử dụng Linux, đặc biệt là server và môi trường cloud​
  • Hạn chế quyền truy cập của người dùng nội bộ, tránh cấp quyền shell không cần thiết​
  • Giám sát các hành vi bất thường liên quan đến file hệ thống và page cache​
  • Tăng cường bảo mật cho container, khô​
 
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ẻ
copy fail cve-2022-0847 cve-2026-31431 linux kernel
Bên trên