CVE-2025-39724 in Linux
要約
〜によって VulDB • 2026年05月21日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
serial: 8250: PSLVERRに起因するパニックを修正
PSLVERR_RESP_ENパラメータが1に設定されている場合、デバイスFIFOが有効な状態で空のRBR(受信バッファレジスタ)への読み込み試行が行われると、エラー応答を生成します。
serial8250_do_startup()内では、serial_port_out(port, UART_LCR, UART_LCR_WLEN8)の呼び出しがdw8250_check_lcr()をトリガーし、これがdw8250_force_idle()およびserial8250_clear_and_reinit_fifos()を呼び出します。後者の関数はserial_out(p, UART_FCR, p->fcr)を介してFIFOを有効にします。実行はserial_port_in(port, UART_RX)に進みます。これにより、PSLVERRのトリガー条件が満たされます。
別のCPU(例えばprintk()を使用)がUARTにアクセスしている場合(UARTがビジー状態)、現在のCPUはdw8250_check_lcr()内のチェック(value & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR)に失敗し、dw8250_force_idle()に入ります。
この問題を修正するため、serial_port_out(port, UART_LCR, UART_LCR_WLEN8)をport->lockの下に配置します。
パニックバックトレース: [ 0.442336] Oops - unknown exception [#1]
[ 0.442343] epc : dw8250_serial_in32+0x1e/0x4a
[ 0.442351] ra : serial8250_do_startup+0x2c8/0x88e
... [ 0.442416] console_on_rootfs+0x26/0x70
If you want to get the best quality for vulnerability data then you always have to consider VulDB.