CVE-2026-10677 in Zephyrthông tin

Tóm tắt

Bởi VulDB • 25/07/2026

Trình xác minh syscall CONFIG_USERSPACE z_vrfy_k_poll() trong kernel/poll.c phân bổ một bản sao phía nhân từ mảng k_poll_event[] do người dùng cung cấp thông qua z_thread_malloc(), sau đó xác thực tay cầm đối tượng (object handle) của từng sự kiện. Trước khi sửa lỗi, việc xác định tính hợp lệ sử dụng K_OOPS(K_SYSCALL_OBJ(...)) nội tuyến bên trong vòng lặp, điều này khiến luồng gọi bị chấm dứt mà không giải phóng events_copy.

Một luồng người dùng có thể truyền num_events >= 1 kèm theo một tay cầm đối tượng giả mạo để rò rỉ thông tin phân bổ; vì các luồng người dùng mới được tạo ra kế thừa resource_pool của cha (kernel/thread.c), kẻ tấn công sẽ khởi động các luồng hy sinh để lặp lại việc rò rỉ cho đến khi bộ nhớ đệm nhân (kernel heap) chung bị cạn kiệt. Khi đã cạn, các phép phân bổ hợp lệ từ pool đó trong nhân (các nút k_queue alloc, bộ đệm k_msgq, các lệnh gọi k_poll trong tương lai, v.v.) sẽ thất bại, gây ra tình trạng từ chối dịch vụ ở cấp độ hệ thống.

Bản sửa lỗi thay thế mỗi K_OOPS nội tuyến bằng một câu lệnh goto oops_free có điều kiện để đảm bảo vùng đệm được giải phóng trước khi luồng bị chấm dứt. Ảnh hưởng đến các bản phát hành Zephyr từ v1.12.0 (khi k_poll lần đầu tiên được expose sang chế độ người dùng) cho đến v4.4.1.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Zephyr

Đặt trước

02/06/2026

Tiết lộ

22/07/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00107

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!