CVE-2026-23115 in Linux情報

要約

〜によって VulDB • 2026年06月11日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

serial: tty->portの競合状態(race condition)が設定されない問題を修正

コミット bfc467db60b7 ("serial: remove redundant tty_port_link_device()") を取り消します。tty_port_link_device() は冗長ではありません:uart_configure_port() を呼び出す前に tty->port を構成する必要があります。そうしないと、ユーザー空間から TTY がドライバにリンクされていない状態でコンソールを開くことができます。

この tty_port_link_device() の追加は、コミット fb2b90014d78 ("tty: link tty and port before configuring it as console") でまさにこの問題を回避するために明示的に行われたものです。そのため、問題のあるコミットは実際には競合状態に対処せずに「冗長である」と主張し、修正を取り消すものになっていました。

これは、Qualcomm SoC においてほとんどのデバイスが無効化され、非常に高速なブートが行われ、かつ1つのシリアルデバイスがコンソールとして使用されている場合に、tty->port の警告として常に再現可能です:

``` printk: legacy console [ttyMSM0] enabled
printk: legacy console [ttyMSM0] enabled
printk: legacy bootconsole [qcom_geni0] disabled
printk: legacy bootconsole [qcom_geni0] disabled
------------[ cut here ]------------
tty_init_dev: ttyMSM driver does not set tty->port. This would crash the kernel. Fix the driver! WARNING: drivers/tty/tty_io.c:1414 at tty_init_dev.part.0+0x228/0x25c, CPU#2: systemd/1 Modules linked in: socinfo tcsrcc_eliza gcc_eliza sm3_ce fuse ipv6 CPU: 2 UID: 0 PID: 1 Comm: systemd Tainted: G S 6.19.0-rc4-next-20260108-00024-g2202f4d30aa8 #73 PREEMPT Tainted: [S]=CPU_OUT_OF_SPEC
Hardware name: Qualcomm Technologies, Inc. Eliza (DT) ... tty_init_dev.part.0 (drivers/tty/tty_io.c:1414 (discriminator 11)) (P) tty_open (arch/arm64/include/asm/atomic_ll_sc.h:95 (discriminator 3) drivers/tty/tty_io.c:2073 (discriminator 3) drivers/tty/tty_io.c:2120 (discriminator 3)) chrdev_open (fs/char_dev.c:411) do_dentry_open (fs/open.c:962) vfs_open (fs/open.c:1094) do_open (fs/namei.c:4634) path_openat (fs/namei.c:4793) do_filp_open (fs/namei.c:4820) do_sys_openat2 (fs/open.c:1391 (discriminator 3)) ... Starting Network Name Resolution... ```

明らかに、この小さな Yocto ベースの ramdisk ユーザー空間におけるフローは以下の通りです:

ドライバ (qcom_geni_serial.c): ユーザー空間: ============================ =========== qcom_geni_serial_probe() uart_add_one_port() serial_core_register_port() serial_core_add_one_port() uart_configure_port() register_console() | | コンソールを開く | ... | tty_init_dev() | driver->ports[idx] は NULL
| tty_port_register_device_attr_serdev() tty_port_link_device() <- driver->ports[idx] を設定

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年01月13日

モデレーション

承諾済み

エントリ

VDB-345997

EPSS

0.00074

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!