CVE-2023-2163 Incorrect calculation in BPF in Linux Kernel from 5.4 leads to local privilege escalation

Severity: High

CVSSv3 Score: 8.8

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Mô tả:

CVE-2023-2163 là một lỗ hổng mức độ nghiêm trọng cao, trên hệ điều hành linux với Linux Kernel phiên bản từ 5.4 trở lên. Lỗ hổng liên quan tới hàm backtrack_insn của file kernel/bpf/verifier.c, khi verifier xử lý tính toán sai, ngắt và xử lý các đoạn mã không an toàn. Nếu thực thi với mã khai thác thành công, hacker có thể đọc ghi tuỳ ý vào kernel, leo thang đặc quyền và escape container.

Để 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.

Hiện tại, phân tích kỹ thuật chi tiết lỗ hổng đã được công bố, tuy nhiên vẫn chưa ghi nhận mã khai thác trên internet.

Các phiên bản Linux kernel bị ảnh hưởng:

Linux Kernel >=5.4

Cách phòng tránh:

Sysadmin có thể phòng tránh CVE-2023-2163 bằng việc đả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 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:  

$ echo "kernel.unprivileged_bpf_disabled=1" >> /etc/sysctl.conf sysctl -p

Hoặc có thể download cập nhật bug fix tại: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=71b547f561247897a0a14f3082730156c0533fed

Tham khảo:

https://nvd.nist.gov/vuln/detail/CVE-2023-2163  
https://vuldb.com/?id.240016 
https://semon.io/blog/fixing-cve-2023-2163-a-technical-analysis-and-mitigation-strategies-for-ubuntu-ebpf-vulnerability 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=71b547f561247897a0a14f3082730156c0533fed