Errata OpenBSD 7.9 vá các lỗi kernel mà Calif xâu chuỗi thành khai thác root cục bộ
Công ty bảo mật Calif cho biết một lỗ hổng bộ nhớ dùng chung có từ khoảng 37 năm trước trong mã BSD gốc là một nửa của chuỗi khai thác root cục bộ. Calif cho biết OpenBSD đã phát hành các bản sửa dưới dạng errata 018 và 026.

Điểm chính
- 1Calif công bố nghiên cứu về một khai thác root cục bộ cho OpenBSD kết hợp hai lỗi kernel; các bản sửa có trong errata của OpenBSD 7.9.
- 2Theo Calif, một lỗ hổng liên quan đến bộ đếm gắn bộ nhớ dùng chung 16-bit có dấu, có từ khoảng 37 năm trước trong mã nguồn BSD gốc.
- 3Errata 018 của OpenBSD, đề ngày 14 tháng 9 năm 2026, được gắn nhãn là bản sửa độ tin cậy cho lỗi tràn số nguyên trong shmat.
- 4Errata 026, đề ngày 30 tháng 9 năm 2026, được gắn nhãn là bản sửa bảo mật cho lỗi đếm tham chiếu trong kernel có thể gây ra use-after-free.
- 5Khai thác này đòi hỏi quyền truy cập cục bộ; Calif cũng đề xuất gia cố kernel rộng hơn như gỡ liên kết danh sách an toàn, ngẫu nhiên hóa bộ cấp phát và các biện pháp giảm thiểu dựa trên trình biên dịch.
Toàn bộ bài viết
Công ty bảo mật Calif đã công bố nghiên cứu mô tả cách họ giành được quyền root trên OpenBSD bằng cách kết hợp hai lỗ hổng kernel mà dự án này sau đó đã vá. Trong bài viết của Andrew Griffiths đề ngày 16 tháng 10, công ty cho biết một trong các lỗi có thể truy ngược về khoảng 37 năm trước, tới mã nguồn BSD gốc. Calif cho biết họ đã báo cáo các lỗ hổng cho OpenBSD hồi đầu năm nay, thường kèm theo các bản vá đề xuất.
Theo Calif, lỗ hổng lâu đời hơn liên quan đến một bộ đếm theo dõi các lần gắn (attach) bộ nhớ dùng chung, được định nghĩa là giá trị 16-bit có dấu và có thể bị tràn số. Công ty cho biết hiện tượng tràn này có thể dẫn đến lỗi use-after-free thông qua một tình trạng tranh chấp (race condition) và, kết hợp với một lỗi ghi ngoài giới hạn (out-of-bounds write) riêng biệt trong kernel, cho phép người dùng cục bộ leo thang lên quyền root. Calif cho biết cuộc tấn công vẫn hoạt động khi cơ chế liên kết lại kernel KARL của OpenBSD cùng các cơ chế bảo vệ bộ xử lý SMAP và SMEP được bật, và không cần đến lỗi rò rỉ thông tin. Bài viết cũng dẫn liên kết tới mã nguồn và một bản proof of concept.
Calif cho biết các vấn đề đã được khắc phục trong errata 018 và 026 của OpenBSD. Trên trang errata của OpenBSD 7.9, errata 018 đề ngày 14 tháng 9 năm 2026 và được liệt kê là bản sửa độ tin cậy (reliability fix) nhằm ngăn chặn lỗi tràn số nguyên trong shmat. Errata 026, đề ngày 30 tháng 9 năm 2026, được liệt kê là bản sửa bảo mật cho một lỗi đếm tham chiếu có thể dẫn đến tình trạng use-after-free trong kernel. Cả hai mục đều áp dụng cho mọi kiến trúc. Calif nêu tên cả hai errata là các bản sửa cho những vấn đề trong chuỗi khai thác của mình, do đó một trong hai bản sửa mang nhãn độ tin cậy thay vì nhãn bảo mật.
Trang errata nêu rằng các bản vá được phân phối dưới dạng unified diff có chữ ký, và tiện ích syspatch có thể cài đặt các bản cập nhật nhị phân trên amd64, i386 và arm64. Các bản sửa cho những phiên bản được hỗ trợ cũng được đưa vào nhánh -stable, nhánh mà dự án duy trì trong một năm sau mỗi lần phát hành. Calif mô tả khai thác này là leo thang đặc quyền cục bộ, nghĩa là kẻ tấn công trước tiên cần có quyền truy cập vào hệ thống.
Ngoài các errata, Calif còn nêu một số ý tưởng gia cố nhằm khiến các đường tấn công tương tự trở nên khó khăn hơn. Các ý tưởng này bao gồm kiểm tra tính toàn vẹn trước khi gỡ các mục khỏi danh sách liên kết đôi, điều mà công ty lưu ý FreeBSD và NetBSD đã triển khai, cùng với việc tăng cường ngẫu nhiên hóa bộ nhớ kernel, vì Calif cho biết các bộ cấp phát của kernel OpenBSD vẫn mang tính tất định dù KARL ngẫu nhiên hóa bố cục tệp nhị phân của kernel. Công ty cũng chỉ ra các tính năng của trình biên dịch như array bounds sanitizer và Alloc Tokens sắp ra mắt. Calif cho biết họ đã đề xuất sanitizer này cho FreeBSD và đã báo cáo riêng 21 vấn đề tại đó mà công cụ này lẽ ra đã phát hiện được, đồng thời lập luận rằng việc giảm thiểu toàn bộ các lớp lỗi ngày càng quan trọng khi AI hỗ trợ việc phát hiện lỗ hổng.
Vì sao quan trọng
Những quản trị viên chỉ áp dụng các errata mang nhãn bảo mật có thể đã bỏ qua 018, bản được OpenBSD liệt kê là bản sửa độ tin cậy, trong khi Calif nêu tên nó là một trong hai bản sửa cho các lỗi trong chuỗi khai thác root của mình. Khi mã khai thác đã được dẫn công khai, nên xác nhận rằng cả 018 lẫn 026 đều đã được cài đặt, đặc biệt trên các hệ thống mà người dùng không đáng tin cậy có thể đăng nhập cục bộ.
Dòng thời gian
· Đăng lúc
Chủ đề#OpenBSD#kernel#leo thang đặc quyền#quản lý bản vá#Calif
Nguồn
Bài này dựa trên các nguồn sau. Hãy đọc chúng để nắm đầy đủ bối cảnh.



