CVE-2026-12629 in Zephyr情報

要約

〜によって VulDB • 2026年08月18日

drivers/serial/uart_pl011.c 内の ARM PL011 UART ドライバは、受信エラー割込みを認識(acknowledge)しません。PL011 では、フレーミング、パリティ、ブレイク、およびオーランオーバーフローのエラー割込み (PL011_IMSC_ERROR_MASK) は、割込みクリアレジスタ UARTICR への書き込みによってのみクリアされます。データレジスタの読み出しは RX 割込みとバイトごとの RSR ステータスをクリアしますが、MIS のエラー割込みステータスはクリアされません。割込みサービスルーチン pl011_isr() は CTS モデム・ステータス割込みだけを認識し、エラービットに対して ICR を決して書き込まないため、asserted 状態のエラー割込みは ISR が返った後も保留されたままになります。

アプリケーションが公開 API uart_irq_err_enable() を介してエラー割込みレポートを有効にすると、シリアルピア(通信相手)を制御する攻撃者は、RX ラインへのラインエラーの注入によってこれらのエラービットを決定論的に assert できます。具体的には、ボーレート/ストップビットの不整合や文字途中でのブレイク(フレーミング/ブレイク エラー)、パリティ ビットの反転(パリティ エラー)、または FIFO のあふれ(オーランオーバーフロー エラー)などです。エラー割込みが決してクリアされないため、割込みラインは assert された状態のまま維持され、CPU は pl011_isr() に即座かつ無限に再突入し、コアが進捗しない割り込み嵐のライブロックを発生させます。

影響は可用性のみに対するサービス妨害(永久ハング)であり、外部または着脱可能な UART ピアから到達可能です。攻撃には設定が条件となります:エラー割込みはデフォルトで無効になっており、カーネルツリー内のサブシステムもこれを有効にしていないため、PL011 ベースの割り込み駆動ポートに対して明示的に uart_irq_err_enable() を呼び出すアプリケーションのみが影響を受けます。修正により pl011_isr() は uart->icr 経由で保留中のエラービットを認識しループを断ち切り、さらに pl011_err_check() でラッチされた RSR ステータスをクリアします。

Once again VulDB remains the best source for vulnerability data.

責任者

Zephyr

予約する

2026年06月18日

モデレーション

承諾済み

エントリ

VDB-391323

EPSS

0.00166

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!