-
09/04/2020
-
141
-
2.014 bài viết
Lỗ hổng Bad Epoll trên Linux cho phép chiếm quyền root từ tài khoản thông thường
Một lỗ hổng bảo mật mới mang tên Bad Epoll vừa được công bố đang thu hút sự quan tâm lớn của cộng đồng an ninh mạng khi có thể cho phép một người dùng không có bất kỳ đặc quyền nào leo thang quyền hạn và chiếm toàn quyền điều khiển hệ thống Linux dưới quyền root. Đáng chú ý, lỗ hổng này không chỉ ảnh hưởng tới máy chủ Linux mà còn tác động đến máy tính cá nhân, các hệ thống doanh nghiệp và cả thiết bị Android sử dụng nhân Linux.
Điểm đặc biệt khiến Bad Epoll trở nên đáng chú ý không chỉ nằm ở mức độ nguy hiểm mà còn bởi hoàn cảnh phát hiện. Lỗ hổng xuất hiện ngay trong đoạn mã mà trước đó mô hình AI Mythos của Anthropic từng phát hiện một lỗi khác, nhưng lại bỏ sót chính Bad Epoll. Điều này cho thấy ngay cả những hệ thống AI tiên tiến nhất hiện nay vẫn gặp nhiều thách thức khi phân tích các lỗi điều kiện tranh chấp cực kỳ phức tạp trong nhân hệ điều hành.
Bad Epoll là gì?
Bad Epoll được định danh là CVE-2026-46242. Đây là một lỗ hổng leo thang đặc quyền cục bộ trong Linux Kernel, cho phép người dùng thông thường sau khi có quyền thực thi mã trên hệ thống có thể chiếm quyền root.
Tại thời điểm công bố, điểm CVSS chính thức của CVE-2026-46242 chưa được công bố, tuy nhiên xét theo khả năng khai thác và mức độ ảnh hưởng, đây được đánh giá là một lỗ hổng nghiêm trọng do có thể dẫn tới việc kiểm soát hoàn toàn hệ điều hành. Theo thông tin hiện tại, chưa ghi nhận dấu hiệu lỗ hổng này bị khai thác ngoài thực tế.
Tại thời điểm công bố, điểm CVSS chính thức của CVE-2026-46242 chưa được công bố, tuy nhiên xét theo khả năng khai thác và mức độ ảnh hưởng, đây được đánh giá là một lỗ hổng nghiêm trọng do có thể dẫn tới việc kiểm soát hoàn toàn hệ điều hành. Theo thông tin hiện tại, chưa ghi nhận dấu hiệu lỗ hổng này bị khai thác ngoài thực tế.
Epoll là gì và vì sao lỗ hổng này lại nguy hiểm?
Để hiểu Bad Epoll, trước tiên cần biết epoll là một thành phần rất quan trọng của Linux. Epoll là cơ chế cho phép một chương trình theo dõi cùng lúc hàng nghìn tệp tin, socket mạng hoặc kết nối đang hoạt động mà không phải kiểm tra từng kết nối liên tục. Đây là nền tảng của rất nhiều dịch vụ hiện đại như:
- Máy chủ web
- Máy chủ cơ sở dữ liệu
- Dịch vụ điện toán đám mây
- Trình duyệt web
- Các ứng dụng mạng hiệu năng cao
Nói cách khác, gần như mọi hệ thống Linux hiện đại đều sử dụng epoll ở một mức độ nào đó. Chính vì là thành phần cốt lõi của nhân hệ điều hành nên epoll không thể đơn giản vô hiệu hóa để tránh bị tấn công. Khi xuất hiện lỗ hổng trong thành phần này, gần như mọi bản phân phối Linux đều chịu ảnh hưởng.
Nguyên nhân của lỗ hổng Bad Epoll
Bad Epoll xuất phát từ một dạng lỗi lập trình kinh điển nhưng đặc biệt khó phát hiện mang tên Use-After-Free (UAF). Thông thường, khi hệ điều hành không còn sử dụng một vùng nhớ, vùng nhớ đó sẽ được giải phóng để phục vụ các tác vụ khác.
Tuy nhiên trong Bad Epoll, hai luồng xử lý khác nhau của kernel lại cùng thao tác trên một đối tượng nội bộ. Quá trình xảy ra theo trình tự như sau:
Tuy nhiên trong Bad Epoll, hai luồng xử lý khác nhau của kernel lại cùng thao tác trên một đối tượng nội bộ. Quá trình xảy ra theo trình tự như sau:
- Một luồng giải phóng vùng nhớ trước.
- Luồng còn lại vẫn tưởng vùng nhớ còn tồn tại.
- Kernel tiếp tục ghi dữ liệu vào vùng nhớ đã bị giải phóng.
- Nội dung bộ nhớ bị ghi đè.
- Kẻ tấn công lợi dụng việc ghi đè này để kiểm soát cấu trúc dữ liệu của kernel.
- Cuối cùng thực hiện leo thang đặc quyền lên quyền root.
Điểm khó nhất nằm ở chỗ khoảng thời gian hai thao tác này giao nhau chỉ kéo dài khoảng sáu lệnh máy. Nếu không trúng đúng thời điểm này thì việc khai thác sẽ thất bại.
Nhà nghiên cứu đã khai thác lỗ hổng như thế nào?
Thông thường, các lỗi race condition có xác suất thành công rất thấp vì phải "đoán đúng thời điểm". Các chuyên gia đã tìm ra cách mở rộng cửa sổ thời gian cực nhỏ này và liên tục thử lại mà không làm hệ thống bị treo.
Nhờ kỹ thuật tối ưu việc đồng bộ tiến trình, mã khai thác có thể:
Nhờ kỹ thuật tối ưu việc đồng bộ tiến trình, mã khai thác có thể:
- tăng đáng kể khả năng trúng thời điểm xảy ra race condition;
- tránh làm kernel bị sập khi khai thác thất bại;
- đạt tỷ lệ thành công khoảng 99% trong môi trường thử nghiệm.
Điều này biến một lỗ hổng vốn rất khó khai thác trở thành một mối đe dọa thực tế hơn rất nhiều.
Vì sao Bad Epoll đáng lo ngại hơn nhiều lỗ hổng Linux khác?
Theo nhà nghiên cứu, Bad Epoll có hai đặc điểm khiến giới bảo mật đặc biệt quan tâm.
Thứ nhất, lỗ hổng có thể được kích hoạt ngay từ Chrome Renderer Sandbox. Thông thường, sandbox của trình duyệt Chrome được thiết kế để cô lập mã độc hoặc trang web độc hại, ngăn chúng truy cập sâu vào hệ điều hành. Tuy nhiên, Bad Epoll vẫn có thể bị khai thác từ môi trường bị giới hạn này để leo thang lên quyền root, khiến một lớp bảo vệ quan trọng bị vượt qua.
Thứ hai, lỗ hổng còn có khả năng ảnh hưởng đến Android. Phần lớn các lỗ hổng leo thang đặc quyền trên Linux chỉ có ý nghĩa đối với máy chủ hoặc máy tính để bàn, nhưng Bad Epoll nằm trong nhân Linux nên nhiều thiết bị Android cũng chịu ảnh hưởng nếu sử dụng phiên bản kernel tương ứng. Hiện nhóm nghiên cứu vẫn đang hoàn thiện phiên bản khai thác dành riêng cho Android.
Thứ nhất, lỗ hổng có thể được kích hoạt ngay từ Chrome Renderer Sandbox. Thông thường, sandbox của trình duyệt Chrome được thiết kế để cô lập mã độc hoặc trang web độc hại, ngăn chúng truy cập sâu vào hệ điều hành. Tuy nhiên, Bad Epoll vẫn có thể bị khai thác từ môi trường bị giới hạn này để leo thang lên quyền root, khiến một lớp bảo vệ quan trọng bị vượt qua.
Thứ hai, lỗ hổng còn có khả năng ảnh hưởng đến Android. Phần lớn các lỗ hổng leo thang đặc quyền trên Linux chỉ có ý nghĩa đối với máy chủ hoặc máy tính để bàn, nhưng Bad Epoll nằm trong nhân Linux nên nhiều thiết bị Android cũng chịu ảnh hưởng nếu sử dụng phiên bản kernel tương ứng. Hiện nhóm nghiên cứu vẫn đang hoàn thiện phiên bản khai thác dành riêng cho Android.
AI từng phát hiện lỗi tương tự nhưng lại bỏ sót Bad Epoll
Một trong những chi tiết đáng chú ý nhất của vụ việc là Bad Epoll nằm trong cùng đoạn mã với một lỗ hổng khác là CVE-2026-43074. Lỗ hổng CVE-2026-43074 trước đó đã được mô hình AI Mythos của Anthropic phát hiện và được vá từ đầu năm 2026.
Cả hai lỗi đều bắt nguồn từ cùng một thay đổi đối với mã nguồn epoll được đưa vào Linux từ năm 2023. Theo Jaeyoung Chung, AI có thể đã bỏ sót Bad Epoll vì hai nguyên nhân chính.
Thứ nhất, race condition vốn cực kỳ khó hình dung khi chỉ đọc mã nguồn. Việc xác định chính xác thứ tự xảy ra của các luồng xử lý đòi hỏi phân tích rất sâu về cơ chế hoạt động của kernel.
Thứ hai, sau khi lỗ hổng đầu tiên được vá, Bad Epoll hầu như không tạo ra dấu hiệu bất thường khi chạy thử. Ngay cả KASAN (Kernel Address Sanitizer), công cụ phát hiện lỗi bộ nhớ phổ biến của Linux, cũng thường không cảnh báo.
Điều này cho thấy các lỗi race condition vẫn là một trong những nhóm lỗ hổng khó phát hiện nhất hiện nay, ngay cả với các công cụ phân tích hiện đại dựa trên AI.
Cả hai lỗi đều bắt nguồn từ cùng một thay đổi đối với mã nguồn epoll được đưa vào Linux từ năm 2023. Theo Jaeyoung Chung, AI có thể đã bỏ sót Bad Epoll vì hai nguyên nhân chính.
Thứ nhất, race condition vốn cực kỳ khó hình dung khi chỉ đọc mã nguồn. Việc xác định chính xác thứ tự xảy ra của các luồng xử lý đòi hỏi phân tích rất sâu về cơ chế hoạt động của kernel.
Thứ hai, sau khi lỗ hổng đầu tiên được vá, Bad Epoll hầu như không tạo ra dấu hiệu bất thường khi chạy thử. Ngay cả KASAN (Kernel Address Sanitizer), công cụ phát hiện lỗi bộ nhớ phổ biến của Linux, cũng thường không cảnh báo.
Điều này cho thấy các lỗi race condition vẫn là một trong những nhóm lỗ hổng khó phát hiện nhất hiện nay, ngay cả với các công cụ phân tích hiện đại dựa trên AI.
Những hệ thống nào bị ảnh hưởng?
Theo thông tin từ nhà nghiên cứu:
- Các nhân Linux phiên bản 6.4 trở lên đều có nguy cơ bị ảnh hưởng nếu chưa được vá.
- Máy chủ Linux.
- Máy tính để bàn Linux.
- Nhiều thiết bị Android sử dụng kernel tương ứng.
Trong khi đó:
- Các nhân Linux 6.1 LTS không bị ảnh hưởng.
- Một số thiết bị như Google Pixel 8 vẫn sử dụng nhánh kernel 6.1 nên không chịu tác động từ lỗ hổng này.
Người dùng và doanh nghiệp đối mặt với những rủi ro gì?
Nếu Bad Epoll bị khai thác thành công, hậu quả có thể rất nghiêm trọng. Kẻ tấn công chỉ cần có được khả năng thực thi mã với quyền người dùng thông thường là có thể:
- chiếm toàn bộ quyền quản trị (root) trên hệ thống;
- cài đặt backdoor hoặc mã độc để duy trì quyền truy cập;
- vô hiệu hóa các cơ chế bảo mật;
- đánh cắp dữ liệu quan trọng;
- di chuyển sang các máy khác trong cùng hệ thống mạng;
- triển khai ransomware hoặc các cuộc tấn công phá hoại khác.
Đối với doanh nghiệp, việc một máy chủ Linux bị chiếm quyền root có thể dẫn tới nguy cơ rò rỉ dữ liệu khách hàng, gián đoạn dịch vụ hoặc trở thành bàn đạp để tấn công sâu hơn vào hạ tầng CNTT.
Đã có bản vá hay chưa?
Tin tích cực là lỗ hổng đã được vá trong mã nguồn Linux chính thức. Bản vá tương ứng nằm trong upstream commit a6dc643c6931.
Các nhà phát triển bản phân phối Linux đang lần lượt tích hợp bản vá này vào các phiên bản kernel được hỗ trợ. Do epoll là thành phần cốt lõi của Linux nên không có biện pháp giảm thiểu tạm thời. Người quản trị hệ thống chỉ có thể khắc phục bằng cách cập nhật kernel sau khi bản vá được phát hành cho bản phân phối mình đang sử dụng.
Các nhà phát triển bản phân phối Linux đang lần lượt tích hợp bản vá này vào các phiên bản kernel được hỗ trợ. Do epoll là thành phần cốt lõi của Linux nên không có biện pháp giảm thiểu tạm thời. Người quản trị hệ thống chỉ có thể khắc phục bằng cách cập nhật kernel sau khi bản vá được phát hành cho bản phân phối mình đang sử dụng.
Khuyến nghị
Các chuyên gia an ninh mạng WhiteHat khuyến nghị người dùng và doanh nghiệp nên chủ động kiểm tra phiên bản kernel đang sử dụng và nhanh chóng triển khai bản vá ngay khi nhà cung cấp phát hành.
Để giảm thiểu nguy cơ bị khai thác, nên thực hiện đồng thời các biện pháp sau:
Để giảm thiểu nguy cơ bị khai thác, nên thực hiện đồng thời các biện pháp sau:
- Cập nhật kernel lên phiên bản đã chứa bản vá hoặc bản backport từ nhà cung cấp hệ điều hành.
- Hạn chế tối đa việc cho phép người dùng không tin cậy thực thi mã trên máy chủ Linux.
- Theo dõi các bản tin bảo mật từ nhà cung cấp bản phân phối Linux và các nhà sản xuất thiết bị Android.
- Tăng cường giám sát hoạt động leo thang đặc quyền bất thường trên máy chủ thông qua các hệ thống ghi nhật ký và giám sát an ninh.
- Đối với môi trường doanh nghiệp, cần ưu tiên vá các máy chủ Internet-facing hoặc hệ thống nhiều người dùng truy cập trước, vì đây là những mục tiêu có nguy cơ bị khai thác cao hơn.