Lỗ hổng CVE-2026-43499: Cảnh báo nghiêm trọng cho nhân Linux

Lỗ hổng CVE-2026-43499: Cảnh báo nghiêm trọng cho nhân Linux

Một lỗ hổng nghiêm trọng trong nhân Linux, được theo dõi với định danh CVE-2026-43499 và có tên gọi “GhostLock”, đã được các nhà nghiên cứu bảo mật công bố. Lỗ hổng này phơi bày một lỗi leo thang đặc quyền đã âm thầm ảnh hưởng đến các bản phân phối Linux lớn trong hơn một thập kỷ.

Chi tiết về Lỗ hổng GhostLock (CVE-2026-43499)

GhostLock bắt nguồn từ một lỗi logic trong phân hệ mutex thời gian thực (rtmutex) của nhân Linux, được giới thiệu từ phiên bản Linux 2.6.39 vào năm 2011. Lỗ hổng này vẫn chưa được phát hiện cho đến khi được vá vào tháng 4 năm 2026, ảnh hưởng đến tất cả các nhân cho đến phiên bản 7.1.

Cơ chế khai thác và Ảnh hưởng Hệ thống

Các nhà nghiên cứu tại Nebula Security đã trình diễn một mã khai thác (exploit) có độ tin cậy cao với tỷ lệ thành công 97%. Về bản chất, lỗ hổng cho phép một kẻ tấn công cục bộ không có đặc quyền thao túng bộ nhớ nhân và cuối cùng giành được quyền root.

Vấn đề phát sinh trong hàm remove_waiter(), nơi một con trỏ liên quan đến tác vụ đang thực thi bị xóa sai thay vì tác vụ đang chờ thực tế trong một số thao tác futex nhất định.

Lỗi này dẫn đến việc một con trỏ treo (dangling pointer) tham chiếu đến bộ nhớ stack nhân đã được giải phóng. Lỗ hổng này có thể bị khai thác thông qua một điều kiện tranh chấp (race condition) cụ thể liên quan đến các futex có cơ chế ưu tiên kế thừa (priority-inheritance futexes).

Bằng cách điều phối cẩn thận các tương tác giữa nhiều luồng và biến futex, kẻ tấn công có thể kích hoạt tình trạng bế tắc (deadlock), buộc nhân phải khôi phục (rollback).

Trong quá trình khôi phục này, nhân không dọn dẹp trạng thái nội bộ đúng cách, để lại một con trỏ lỗi thời trỏ đến một đối tượng stack không còn tồn tại.

Một khi con trỏ treo này được tạo ra, kẻ tấn công có thể chiếm lại bộ nhớ stack đã giải phóng và thay thế nó bằng dữ liệu do họ kiểm soát. Điều này cho phép họ giả mạo các cấu trúc nội bộ của nhân và ảnh hưởng đến cách nhân xử lý các nguyên thủy đồng bộ hóa.

Kỹ thuật này khai thác điều kiện này để đạt được khả năng ghi tùy ý (arbitrary write) có giới hạn vào bộ nhớ nhân. Mặc dù khả năng ghi có giới hạn, nó đủ để ghi đè lên các cấu trúc nhân quan trọng, chẳng hạn như bảng con trỏ hàm (function-pointer tables).

Trong mã khai thác được trình diễn, các nhà nghiên cứu đã nhắm mục tiêu vào bảng inet6_protos, bảng này xử lý các hoạt động của giao thức IPv6. Bằng cách chuyển hướng một con trỏ hàm đến bộ nhớ do kẻ tấn công kiểm soát, họ đã chiếm quyền điều khiển luồng khi nhân xử lý một gói mạng được chế tạo.

Để vượt qua cơ chế ngẫu nhiên hóa bố cục không gian địa chỉ nhân (KASLR), mã khai thác sử dụng một kênh phụ thời gian (timing side-channel) dựa trên các lệnh prefetch của CPU để suy luận bố cục bộ nhớ. Nó cũng tận dụng CPU Entry Area, một vùng bộ nhớ nhân có thể dự đoán được, để lưu trữ các cấu trúc dữ liệu được chế tạo và xây dựng một chuỗi tấn công trả về (return-oriented programming – ROP).

Giai đoạn cuối cùng của cuộc tấn công sử dụng một kỹ thuật được gọi là DirtyMode, trong đó một lần ghi bộ nhớ nhân duy nhất sẽ sửa đổi quyền trên một cài đặt sysctl. Điều này cho phép kẻ tấn công thực thi mã tùy ý với quyền root từ không gian người dùng, hoàn thành chuỗi leo thang đặc quyền.

Lỗ hổng này không yêu cầu đặc quyền đặc biệt hoặc cấu hình nhân tùy chỉnh, làm cho nó trở nên đặc biệt nguy hiểm trên các hệ thống đa người dùng và môi trường container hóa nơi có thể truy cập cục bộ. Nó cũng cho phép các kịch bản thoát khỏi container (container escape), làm tăng thêm tác động của nó trong cơ sở hạ tầng đám mây và chia sẻ.

Các Biện pháp Khắc phục và Khuyến nghị

Các nhà bảo trì nhân Linux đã khắc phục vấn đề bằng cách sửa đổi hàm remove_waiter() để tham chiếu đúng cấu trúc tác vụ dự định.

Các nhà nghiên cứu Nebula Security đã phát hiện ra rằng bản vá ban đầu có thể gây ra ngoại lệ con trỏ rỗng (null pointer exception), đòi hỏi một bản sửa lỗi cập nhật. Người dùng và quản trị viên được khuyến cáo mạnh mẽ nên cập nhật lên các phiên bản nhân đã được vá hoặc các bản phát hành hỗ trợ dài hạn (LTS) mới nhất.

Các hệ thống chạy nhân cũ hơn vẫn có nguy cơ bị khai thác. Với độ tin cậy của cuộc tấn công này, việc áp dụng bản vá kịp thời là điều cần thiết để ngăn ngừa sự xâm nhập tiềm ẩn.

Tầm quan trọng của việc duy trì hệ thống cập nhật và theo dõi các cảnh báo CVE mới nhất là không thể phủ nhận trong việc bảo vệ khỏi các mối đe dọa mạng ngày càng tinh vi.

Để biết thêm thông tin chi tiết về các lỗ hổng nhân Linux và các bản vá liên quan, bạn có thể tham khảo thông tin từ National Vulnerability Database (NVD) tại NVD.