Lỗ hổng trong kernel Linux cho phép hacker qua mặt container

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
93
600 bài viết
Lỗ hổng trong kernel Linux cho phép hacker qua mặt container
Thông tin chi tiết về lỗ hổng mức độ nghiêm trọng cao trong kernel Linux vừa được công bố. Theo đó, hacker có thể lợi dụng lỗ hổng này để qua mặt cơ chế container nhằm thực thi các lệnh tùy ý trên container host. Hiện vấn đề đã được khắc phục.

1646628245860.png

Lỗi nằm trong một tính năng của kernel Linux được gọi là “nhóm điều khiển” (control group) hay cgroups phiên bản 1 (v1), cho phép các tiến trình được tổ chức thành các nhóm phân cấp, do đó có thể giới hạn và giám sát việc sử dụng các tài nguyên như CPU, bộ nhớ, dish I/O và mạng.

Được đánh số là CVE-2022-0492 (điểm CVSS: 7,0), lỗ hổng liên quan đến trường hợp leo thang đặc quyền trong chức năng release_agent của cgroups v1, một tập lệnh được thực thi sau khi kết thúc bất kỳ quá trình nào trong cgroup.

Nhà nghiên cứu Yuval Avrahami của Unit 42 cho biết trong một báo cáo mới được công bố: “Đây là một lỗ hổng leo thang đặc quyền trong Linux được phát hiện khá dễ dàng. Lỗ hổng bắt nguồn do Linux kernel xử lý một chương trình đặc quyền không chuẩn xác. Điều này cho phép người dùng không có đặc quyền có thể tác động đến chương trình đang chạy với đặc quyền cao hơn”.

Chương trình release_agent có được gọi hay không khi một nhóm cụ thể trở nên trống được xác định bởi giá trị trong tệp notify_on_release trong thư mục cgroup tương ứng. Nếu tệp này chứa giá trị 0, thì chương trình release_agent không được gọi. Nếu nó chứa giá trị 1, chương trình release_agent được gọi. Giá trị mặc định cho tệp này trong cgroup gốc là 0.

Cụ thể, nhóm tình báo về mối đe dọa của Palo Alto Networks lưu ý rằng lỗi này là hậu quả của việc kiểm tra thiếu chặt chẽ quá trình thiết lập tệp release_agent có đặc quyền quản trị hay không, từ đó làm cho nó trở thành “miếng bánh” khai thác tiềm năng.

Nói cách khác, nếu tệp release_agent này bị kẻ tấn công ghi đè, kernel có thể bị buộc phải gọi một tệp nhị phân tùy ý được cấu hình trong release agent với quyền cao nhất có thể - một kịch bản có thể cho phép kiểm soát hoàn hoàn thiết bị.

Tuy nhiên, cần lưu ý rằng chỉ các quy trình có đặc quyền "root" mới có thể ghi vào tệp, có nghĩa là lỗ hổng an ninh chỉ cho phép các quy trình gốc nâng cao đặc quyền.

Avrahami giải thích: “Thoạt nhìn, một lỗ hổng leo thang đặc quyền chỉ có thể được khai thác bởi người dùng root có vẻ kỳ lạ. Chạy dưới quyền root không có nghĩa là có toàn quyền kiểm soát máy: Có một vùng “khó có thể phân định” giữa người dùng root và các đặc quyền đầy đủ bao gồm capability, namespace và container. Trong những trường hợp này, tiến trình root không có toàn quyền kiểm soát máy, CVE-2022-0492 trở thành một lỗ hổng nghiêm trọng”.

Mặc dù các container chạy với AppArmor hoặc SELinux được bảo vệ khỏi lỗ hổng, người dùng được khuyến nghị áp dụng các bản vá vì thực tế là lỗ hổng này có thể bị các quy trình máy chủ độc hại khác lạm dụng để nâng cao đặc quyền.

Đây không phải là lần đầu tiên release_agent xuất hiện như một vectơ tấn công. Vào tháng 7 năm 2019, nhà nghiên cứu Felix Wilhelm của Google Project Zero đã công bố một PoC lợi dụng tính năng này để thoát ra khỏi các container Kubernetes và Docker đặc quyền.

Sau đó vào tháng 11 năm 2021, công ty an ninh mạng điện toán đám mây Aqua đã tiết lộ chi tiết về một chiến dịch khai thác tiền điện tử sử dụng cùng một kỹ thuật container escape để cài công cụ khai thác tiền XMRig trên các máy chủ bị nhiễm.

"CVE-2022-0492 đánh dấu một lỗ hổng Linux khác có thể bị khai thác cho mục đích container escape" - Avrahami kết luận. "May mắn thay, các môi trường tuân theo các chính sách hợp lý được bảo vệ khỏi lỗ hổng an ninh này. Các môi trường có kiểm soát an ninh lỏng lẻo lưu trữ các container không đáng tin cậy hoặc bị lộ sẽ có rủi ro bị khai thác rất cao”.

Nguồn: The Hacker News
 
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ẻ
cve-2022-0492 linux linux kernel
Bên trên