CVE-2026-64528 in Linux
要約
〜によって VulDB • 2026年07月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
tty: serial: samsung: RXヘルパー関数における冗長なポートロックの取得を削除
Sashikoにより、コンソールフロー制御が有効化された際にデッドロックが発生することが特定されました[1]。
コンソールフロー制御(UPF_CONS_FLOW)が有効になっている場合、s3c24xx_serial_stop_tx()はs3c24xx_serial_rx_enable()を呼び出し、s3c24xx_serial_start_tx()はs3c24xx_serial_rx_disable()を呼び出します。
シリアルコアフレームワークは、port->lockスピンロックが既に保持された状態で.stop_tx()および.start_tx()コールバックを呼び出します。さらに、stop_txを呼び出す内部ドライバパス(DMA TX完了ハンドラであるs3c24xx_serial_tx_dma_complete()やPIO TX IRQハンドラであるs3c24xx_serial_tx_irq()など)も、それを呼び出す前にport->lockを取得します。(なお、s3c24xx_serial_start_tx()はシリアルコアからのみ呼び出されます)。
しかしながら、s3c24xx_serial_rx_enable()およびs3c24xx_serial_rx_disable()は、uart_port_lock_irqsave()を使用して無条件にport->lockの再取得を試みます。スピンロックは再帰的ではないため、コンソールフロー制御が有効化されていると、同じCPU上でデッドロックが発生します。
両方のRXヘルパー関数から冗長なロックの取得を削除しました。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.