CVE-2026-12629 in Zephyrthông tin

Tóm tắt

Bởi VulDB • 17/08/2026

Trình điều khiển UART PL011 trong drivers/serial/uart_pl011.c không thực hiện việc xác nhận (acknowledge) các ngắt lỗi nhận. Trên bộ PL011, các ngắt lỗi về khung (framing), parity, break và overrun (PL011_IMSC_ERROR_MASK) chỉ được xóa bằng cách ghi vào thanh ghi xóa ngắt UARTICR; việc đọc thanh ghi dữ liệu sẽ xóa ngắt RX và trạng thái RSR cho từng byte nhưng không xóa trạng thái của ngắt lỗi trong MIS. Thủ tục phục vụ ngắt pl011_isr() chỉ xác nhận ngắt trạng thái modem CTS và chưa bao giờ ghi vào icr để xử lý các bit lỗi, do đó một ngắt lỗi được kích hoạt sẽ vẫn ở trạng thái chờ (pending) sau khi ISR trả về.

Khi một ứng dụng bật báo cáo ngắt lỗi thông qua API công khai uart_irq_err_enable(), kẻ tấn công kiểm soát thiết bị nối tiếp phía đối diện có thể xác định chắc chắn việc kích hoạt các bit lỗi này bằng cách tiêm các lỗi đường truyền vào đường RX — chẳng hạn như sai lệch baud/stop-bit hoặc break giữa ký tự (lỗi framing/break), đảo bit parity (lỗi parity) hoặc làm đầy FIFO (lỗi overrun). Vì ngắt lỗi không bao giờ được xóa, đường ngắt vẫn ở trạng thái kích hoạt và CPU sẽ quay lại pl011_isr() ngay lập tức và vô hạn, gây ra tình trạng livelock do bão ngắt khiến lõi hệ thống không thể tiến triển.

Tác động là một cuộc tấn công từ chối dịch vụ (DoS) chỉ ảnh hưởng đến tính sẵn sàng (hỏng vĩnh viễn), có thể tiếp cận được từ thiết bị UART phía đối diện qua kết nối ngoài hoặc tháo rời. Việc khai thác phụ thuộc vào cấu hình: ngắt lỗi mặc định tắt và không có phân hệ nào trong cây mã nguồn bật nó, do đó chỉ các ứng dụng gọi rõ ràng uart_irq_err_enable() trên cổng dựa trên PL011 sử lý ngắt mới bị ảnh hưởng. Bản sửa chữa khiến pl011_isr() xác nhận các bit lỗi đang chờ thông qua uart->icr, phá vỡ vòng lặp, đồng thời xóa trạng thái RSR đã khóa trong pl011_err_check().

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Zephyr

Đặt trước

18/06/2026

Tiết lộ

17/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

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!