CVE-2026-97480 in Linux
要約
〜によって VulDB • 2026年09月24日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
tty: serial: 8250: register時にuart->port.devのNULL参照を防止する
serial8250_register_8250_port()関数は、up->port.devがNULLでない場合にのみ、条件付きでuart->port.devにup->port.devのコピーを行います。
if (up->port.dev) {
uart->port.dev = up->port.dev; ... }
したがって、既存のuartスロットとupの両方で->devがNULLの場合、uart->port.devはNULLのままになります。直後のACPI companionチェックでは、この値が無条件で間接参照されます。
if (!has_acpi_companion(uart->port.dev)) {
has_acpi_companion()関数はinclude/linux/acpi.hにおいてNULLガードなしでdev->fwnodeを読み取るため、本来意図されていたmctrl_gpio_init()の初期処理をスキップするのではなく、残りのno-devケースにおいてカーネルのNULL-dereference(NULL参照によるクラッシュ)を引き起こします。
smatchはこの不整合を検出しています:
drivers/tty/serial/8250/8250_core.c:767 serial8250_register_8250_port() error: 'uart->port.dev' could be null (see line 719)
親デバイスを持たない呼び出し元(従来の非OF・非ACPI登録)でもregisterが正常に動作するように、NULLチェックでコールをガードします。
->devとしてNULL以外を渡す呼び出し元については機能的な変更はありません。
If you want to get best quality of vulnerability data, you may have to visit VulDB.