CVE-2023-53847 in Linux
要約
〜によって VulDB • 2026年05月20日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
usb-storage: alauda: alauda_check_media()における未初期化値アクセスの修正
SyzbotがKMSANにより、usb-storageのalaudaサブドライバにおける未初期化値へのアクセスについて警告を発しました:
BUG: KMSAN: uninit-value in alauda_transport+0x462/0x57f0 drivers/usb/storage/alauda.c:1137 CPU: 0 PID: 12279 Comm: usb-storage Not tainted 5.3.0-rc7+ #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x191/0x1f0 lib/dump_stack.c:113 kmsan_report+0x13a/0x2b0 mm/kmsan/kmsan_report.c:108 __msan_warning+0x73/0xe0 mm/kmsan/kmsan_instr.c:250 alauda_check_media+0x344/0x3310 drivers/usb/storage/alauda.c:460
問題は、alauda_check_media()が受信したデータを使用する前に、USB転送が成功したかどうかを検証していないことです。転送が失敗した場合にどうなるべきかは必ずしも明確ではありませんが、比較的保守的なアプローチとしては、メディアが存在しないものとして扱うことが考えられます。
alauda_get_media_status()内のusb_stor_dbg()呼び出しにも同様の問題が存在します。この場合、エラーが発生すると、usb_stor_ctrl_transfer()がすでにデバッグメッセージを出力するため、この呼び出しは冗長になります。
最後に、未初期化メモリへのアクセスとは無関係ですが、alauda_check_media()がスタック上のバッファに対してDMAを実行しているという事実があります。幸いにも、usb-storageにはこのような用途のために汎用のDMA対応バッファが用意されています。これを使用します。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.