CVE-2026-12629 in ZephyrИнформация

Сводка

по VulDB • 17.08.2026

Драйвер UART PL011 в файле drivers/serial/uart_pl011.c не подтверждает прерывания ошибок приема. На устройстве PL011 флаги прерываний по ошибкам фрейминга, четности, стоп-бита и переполнения (PL011_IMSC_ERROR_MASK) сбрасываются только путем записи в регистр очистки прерываний UARTICR; чтение регистра данных очищает флаг прерывания приема (RX interrupt) и статус RSR для каждого байта, но не снимает состояние ошибки в регистре MIS. Подпрограмма обслуживания прерываний pl011_isr() подтверждает только прерывание статуса модема CTS и никогда не записывает значение в ICR для битов ошибок, поэтому asserted error interrupt остается pending после возврата из ISR.

Когда приложение включает отчетность об ошибках через публичный API uart_irq_err_enable(), злоумышленник, контролирующий последовательного партнера (serial peer), может детерминированно установить эти флаги ошибок путем внедрения ошибок линии на линию RX — несоответствие скорости/стоп-бита или прерывание посередине символа (ошибка фрейминга/прерывания), инвертированный бит четности (ошибка четности) или переполнение FIFO (ошибка переполнения). Поскольку ошибка прерывания никогда не очищается, линия прерываний остается asserted, и процессор немедленно и бесконечно повторно входит в pl011_isr(), что приводит к interrupt-storm livelock, из которого ядро не может сделать никакого прогресса.

Воздействие заключается только в отказе в доступности (permanent hang), достижимом от внешнего или съемного UART peer. Эксплуатация зависит от конфигурации: прерывание по умолчанию выключено, и ни одна подсистема из дерева исходных кодов не включает его, поэтому затронуты только приложения, которые явно вызывают uart_irq_err_enable() для порта на базе PL011 с управлением через прерывания. Исправление заставляет pl011_isr() подтверждать pending error bits через uart->icr, разрывая цикл, а также дополнительно очищает latched RSR status в функции pl011_err_check().

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

Zephyr

Резервировать

18.06.2026

Раскрытие

17.08.2026

Модерация

принято

Вход

VDB-391323

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!