CVE-2024-53190 in Linux情報

要約

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

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

wifi: rtlwifi: 失敗時のefuse読み込み試行回数を大幅に削減する

Syzkallerがuevent_show()におけるスタックトレース付きのハングタスクを報告しました。この特定の問題は別のコミット[0]によって対処されていましたが、その修正(例えばv6.12-rc5の実行など)を適用しても、同じ再現手順[1]に由来する別のタイプのハングタスクが発生していました。これを調査した結果、以下のパスに原因が絞り込まれました:

(a) Syzkallerはraw-gadgetおよびdummy_hcdインフラストラクチャを使用してRealtek USB WiFiアダプターをエミュレートします。

(b) rtl8192cuのプロブ中に、ドライバefuse読み込み手順(これはEEPROMロードに関連しています)を実行することになります。ここで問題が発生します:read_efuse()関数はefuseサイズに依存するループ反復回数分だけread_efuse_byte()を多数回呼び出します(今回の例では合計512回)。

このefuseバイトの読み込み手順は、失敗した場合I/O読み取りを最大*1万回*行うループに依存しています。read_efuse_byte()内のループのみにかかる時間を測定したところ、この再現手順(dummy_hcdエミュレーションレイヤーを含む場合)では各試行で15秒かかりました。その結果、ドライバがプロブルーチン中に長時間固まり、例えばシステム再起動を試みると以下のようなスタックトレースが表示されます:

task:kworker/0:3 state:D stack:0 pid:662 tgid:662 ppid:2 flags:0x00004000 Workqueue: usb_hub_wq hub_event Call Trace: __schedule+0xe22/0xeb6 schedule_timeout+0xe7/0x132 __wait_for_common+0xb5/0x12e usb_start_wait_urb+0xc5/0x1ef ? usb_alloc_urb+0x95/0xa4 usb_control_msg+0xff/0x184 _usbctrl_vendorreq_sync+0xa0/0x161 _usb_read_sync+0xb3/0xc5 read_efuse_byte+0x13c/0x146 read_efuse+0x351/0x5f0 efuse_read_all_map+0x42/0x52 rtl_efuse_shadow_map_update+0x60/0xef rtl_get_hwinfo+0x5d/0x1c2 rtl92cu_read_eeprom_info+0x10a/0x8d5 ? rtl92c_read_chip_version+0x14f/0x17e rtl_usb_probe+0x323/0x851 usb_probe_interface+0x278/0x34b really_probe+0x202/0x4a4 __driver_probe_device+0x166/0x1b2 driver_probe_device+0x2f/0xd8 [...]

ここでは、失敗時のI/O読み取り試行回数をUSBデバイスに限定して大幅に削減することを提案します(PCIeより本質的に遅いため)。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2024年11月19日

モデレーション

承諾済み

エントリ

VDB-289427

EPSS

0.00240

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!