Vào ngày 20 tháng 5 năm 2026, các nhà phát triển FreeBSD đã công bố các bản vá cho bảy lỗ hổng bảo mật mới trong hệ thống. Không phải tất cả đều nguy hiểm như nhau, nhưng một số lỗ hổng cực kỳ nghiêm trọng.
CVE-2026-45251 — Lỗi sử dụng sau khi giải phóng bộ nhớ (use-after-free) trong các lệnh gọi hệ thống kiểu select nếu danh sách chờ của chúng chứa các mô tả tiến trình (trong FreeBSD 15, cũng có các mô tả jail mới), và các mô tả này đã bị đóng trong một luồng khác trong khi lệnh gọi hệ thống đang chờ vẫn đang đợi. (Đánh giá dựa trên...) cam kết nàyCác mô tả liên quan đến netmap (trình điều khiển bộ chuyển đổi mạng để truy cập trực tiếp tăng tốc) cũng bị ảnh hưởng, nhưng không có thông tin chính thức nào về điều này. Mô tả tiến trình được giới thiệu trong FreeBSD 9, vì vậy lỗ hổng này có thể đã tồn tại từ đó. Tuyên bố chính thức cho biết lỗ hổng này cho phép giành được quyền quản trị viên. Không có cách nào để khắc phục nó nếu không có bản vá hoặc cập nhật.
CVE-2026-45250 — Lỗi tính toán kích thước bộ đệm không chính xác và việc ghi dữ liệu vào ngăn xếp sau đó trong lệnh gọi hệ thống setcred. Mặc dù bản thân lệnh setcred yêu cầu quyền root, nhưng việc lỗi ngăn xếp xảy ra trước khi quyền được kiểm tra và do đó mọi người đều có thể truy cập được. Lệnh gọi hệ thống này được giới thiệu trong FreeBSD 14.3 (có nghĩa là các phiên bản trước đó không bị ảnh hưởng) và cung cấp một cách để thiết lập tất cả ID người dùng và nhóm của tiến trình hiện tại trong một lệnh gọi duy nhất, thay vì sử dụng setuid+setgid+setgroups và các tổ hợp tương tự. Lỗ hổng này cho phép mã độc hại được thực thi trong ngữ cảnh kernel. Không có cách nào để khắc phục nó mà không cần bản vá hoặc cập nhật.
CVE-2026-45252 — Không kiểm tra ký tự null kết thúc trước khi sao chép chuỗi nhận được từ tiến trình fuse vào bộ đệm mới. Tuy nhiên, có kiểm tra kích thước sao chép tối đa, và không thể đọc quá 253 byte bổ sung từ bộ nhớ kernel. Cũng có thể ghi tối đa 250 byte vào "không gian heap kernel chưa được phân bổ". Theo mặc định, FreeBSD ngăn người dùng không phải root gắn kết hệ thống tập tin, có nghĩa là việc cài đặt một tiến trình fuse độc hại vào kernel yêu cầu quyền truy cập root. Tuy nhiên, nếu sysctl vfs.usermount=1, hệ thống cũng trở nên dễ bị tổn thương đối với người dùng thông thường. Cũng cần xem xét nguy hiểm của tiến trình fuse trong jail, nơi nó có thể có quyền root (mặc dù điều này cũng bị cấm theo mặc định).
CVE-2026-45253 — Khi sử dụng ptrace, có thể thực thi một lệnh gọi hệ thống với số không chính xác trong một tiến trình đang được gỡ lỗi, dẫn đến việc thực thi mã kernel không được thiết kế để thực thi dưới dạng lệnh gọi hệ thống, với những hậu quả tiềm tàng nghiêm trọng. Nếu thiết lập security.bsd.unprivileged_proc_debug=0 (điều này dù sao cũng là một thực tiễn tốt cho máy chủ, và trình cài đặt hệ thống thậm chí còn cung cấp tùy chọn này), các tiến trình người dùng và các tiến trình bị giới hạn sẽ không thể sử dụng ptrace, khiến lỗ hổng chỉ có thể khai thác bởi người dùng root.
CVE-2026-45255 — Lỗ hổng này cho phép chèn các lệnh shell với quyền root vào bsdinstall/bsdconfig thông qua tên của các mạng không dây độc hại mà không được kiểm tra khi xem danh sách mạng. Để tránh lỗ hổng này, chỉ cần tránh xem danh sách mạng không dây từ bsdinstall/bsdconfig.
CVE-2026-39461, CVE-2026-45254 — Các lỗ hổng trong thư viện libcasper (không phải trong nhân hệ điều hành). Thư viện này được thiết kế để cung cấp dịch vụ một cách an toàn và có thể cấu hình cho các tiến trình được cách ly. Một lỗ hổng liên quan đến tràn ngăn xếp và lỗi hỏng ngăn xếp do cách tổ chức các số mô tả tệp lớn của thư viện (nó được thiết kế cho các số lên đến 1024, giới hạn mặc định cho các cấu trúc của lệnh gọi hệ thống select). Lỗ hổng thứ hai là khả năng loại bỏ các danh sách hạn chế đã áp đặt (triết lý của thư viện là các hạn chế một khi đã áp đặt lên một tiến trình chỉ có thể trở nên mạnh hơn) cap_net.
Các phiên bản đã được vá lỗi của hệ thống được đánh số: 14.3-RELEASE-p14, 14.4-RELEASE-p5 và 15.0-RELEASE-p9. Cũng cần lưu ý một điểm quan trọng: FreeBSD 13.5 đã bị ngừng hỗ trợ gần đây—vào ngày 30 tháng 4 năm 2026—và không có bản vá lỗi chính thức nào cho nó (hoặc cho nhánh 13.x nói chung). Tuy nhiên, nếu vì lý do nào đó bạn không muốn vội vàng nâng cấp lên phiên bản 14.x, các bản vá lỗi cho 14.3 thường áp dụng cho mã nguồn 13.5, và CVE-2026-45250 không liên quan đến nhánh 13.x do thiếu hàm setcred().
Nguồn: linux.org.ru
