Trong khoảng thời gian của tuần này, một số giải pháp cho các sự cố khác nhau với Nhân Linux đã được phát hành, nhưng một số khác cũng được phát hiện, trong đó Wanpeng Li gần đây đã phát hiện ra hai từ chối dịch vụ (DOS) trong nhân Linux.
Với cái này cho phép kẻ tấn công cục bộ sử dụng con trỏ null để tham chiếu đến một lỗi để kích hoạt trạng thái DOS.
Lỗ hổng đầu tiên, với số CVE-2018-19406 về các lỗ hổng và sự phơi nhiễm phổ biến, Nó tồn tại trong hàm kvm_pv_send_ipi của nhân Linux, được định nghĩa trong tệp Arch / x86 / kvm / lapic.c.
Lỗ hổng CVE-2018-19406 tồn tại trong Linux Kernel 4.19.2, cho phép kẻ tấn công sử dụng các lệnh gọi hệ thống phức tạp trên các thiết bị chưa được sửa chữa để đạt được trạng thái DOS. Nguyên nhân của sự cố này là do Bộ điều khiển ngắt lập trình nâng cao (APIC) không thể khởi tạo đúng cách.
Wanpeng Li viết:
“Nguyên nhân là do apic map chưa được khởi tạo, testcase kích hoạt giao diện pv_send_ipi bằng vmcall, dẫn đến kvm-> Arch.apic_map không được tham chiếu. "Bản vá này khắc phục sự cố bằng cách kiểm tra xem bản đồ apic có phải là NULL hay không và ngay lập tức nếu có."
Lỗ hổng thứ hai được Wanpeng Li phát hiện được giới hạn trong các tình huống mà kẻ tấn công có thể truy cập vật lý vào thiết bị.
Sự cố này được đánh số CVE-2018-19407 trong cơ sở dữ liệu lỗ hổng quốc gia và xuất hiện trong hàm vcpu_scan_ioapic trong hàm Arch / x86 / kvm / x86.c trong nhân Linux 4.19.2, cho phép người dùng cục bộ gây ra từ chối dịch vụ (con trỏ NULL) lệch và BUG) thông qua các lệnh gọi hệ thống được thiết kế dẫn đến tình huống mà ioapic không được khởi tạo.
Tuy nhiên, một lỗ hổng bảo mật khác ảnh hưởng đến Nhân Linux CVE-2018-18955
Hơn nữa, cũng trong tuần này, một lỗ hổng đã được phát hiện (CVE-2018-18955) trong mã dịch uid / gid từ không gian tên người dùng.
Đối với bộ định danh chính, Cho phép người dùng không có đặc quyền có đặc quyền của quản trị viên trong vùng chứa riêng biệt (CAP_SYS_ADMIN) bỏ qua các hạn chế bảo mật và truy cập tài nguyên bên ngoài không gian tên của số nhận dạng hiện tại.
Ví dụ: khi bạn sử dụng hệ thống tệp được chia sẻ trong môi trường chứa và máy chủ, bạn có thể đọc nội dung của tệp / etc / shadow trong môi trường chính thông qua một kháng nghị trực tiếp tới i-node.
Lỗ hổng bảo mật hiện diện trong các bản phân phối sử dụng kernel 4.15 và các phiên bản mới hơn, ví dụ như trong Ubuntu 18.04 và Ubuntu 18.10, Arch Linux và Fedora (kernel 4.19.2 với bản sửa lỗi đã có sẵn trong Arch và Fedora).
RHEL và SUSE không bị ảnh hưởng. Trong Debian và Red Hat Enterprise Linux, hỗ trợ không gian người dùng không được bật theo mặc định, nhưng được bao gồm trong Ubuntu và Fedora.
Lỗ hổng này do một lỗi trong mã nhân Linux 4.15, được giới thiệu vào tháng XNUMX năm ngoái.
Sự cố đã được khắc phục trong các phiên bản 4.18.19, 4.19.2 và 4.20-rc2.
Lỗ hổng Nó hiện diện trong hàm map_write () được định nghĩa trong tệp hạt nhân /user_namespace.c, và nguyên nhân là do việc xử lý không chính xác các không gian định danh người dùng lồng nhau sử dụng nhiều hơn 5 phạm vi UID hoặc GID.
Trong những điều kiện này, việc dịch mã định danh uid / gid từ không gian tên sang nhân (bản đồ chuyển tiếp) hoạt động chính xác, nhưng không được thực hiện trong quá trình chuyển đổi ngược lại (bản đồ ngược, từ nhân sang không gian định danh).
Một tình huống phát sinh trong đó ID người dùng 0 (gốc) được ánh xạ chính xác đến định danh 0 trong nhân trong quá trình chuyển đổi chuyển tiếp, nhưng không phản ánh tình hình thực tế trong quá trình chuyển đổi ngược được sử dụng trong kiểm tra inode_owner_or_capable () và đặc quyền_wrt_inode_uidgid ().
Do đó, khi truy cập một inode, kernel coi người dùng có quyền thích hợp, mặc dù thực tế là số nhận dạng 0 không được sử dụng từ tập hợp id người dùng chính, mà từ một không gian tên riêng biệt.