[CVE-2022-23222] Linux Kernel eBPF local privilege escalation
Severity: HIGH
CVSS v3 score: 7.8
Mô tả:
Nhóm nghiên cứu bảo mật Tr3ee vừa tung ra mã khai thác (ngày 07 tháng 06 năm 2022) cho lỗ hổng Linux Kernel eBPF local privilege escalation (CVE-2022-23222). Lỗ hổng này được nhóm phát hiện và thông báo từ tháng 1 đầu năm 2022 với CVSS score 7.8, ảnh hưởng tới Linux kernel 5.8 hoặc cao hơn. Tuy nhiên để khai thác thành công lỗ hổng này thì kẻ tấn công trước tiên phải có quyền thực thi low-privileged code trên hệ thống.
Lỗ hổng đến từ việc thiếu xác thực cho các chương trình eBPF do người dùng cung cấp. Khai thác được điểm yếu trong hàm kernel/bpf/verifier.c, kẻ tấn công có thể vượt qua việc kiểm tra xác thực và leo thang đặc quyền hệ thống, từ một user bình thường có thể thực thi mã dưới quyền root.
Mã khai thác tại: https://github.com/tr3ee/CVE-2022-23222 .
Các bản Linux kernel bị ảnh hưởng:
Linux Kernel 5.8 or later
Tuy nhiên các phiên bản linux distro gần đây đã mặc định vô hiệu hóa Unprivileged eBPF để phòng tránh lỗ hổng.
Cách phòng tránh:
Quản trị viên đảm bảo đã vô hiệu hóa chức năng unprivileged eBPF trên hệ thống bằng cách kiểm tra giá trị của kernel.unprivileged_bpf_disabled. Sử dụng câu lệnh:
- $ sysctl kernel.unprivileged_bpf_disabled
Hoặc
- $ cat /proc/sys/kernel/unprivileged_bpf_disabled
Nếu kết quả trả về giá trị 1 hoặc 2 thì không cần phải làm gì thêm (do unprivileged eBPF đã bị disabled từ trước hoặc mặc định đã bị disabled theo phiên bản hệ điều hành).
Nếu kết quả trả về giá trị 0, cần disable unprivileged eBPF theo câu lệnh:
- $ sudo sysctl kernel.unprivileged_bpf_disabled=1
Lệnh này chỉ có hiệu lực cho tới lần boot tiếp theo. Có thể thêm dòng sau vào file /etc/sysctl.conf để có hiệu lực cho mọi lần boot.
- kernel.unprivileged_bpf_disabled=1
https://www.openwall.com/lists/oss-security/2022/01/13/1