CVE-2026-98741 in Linux情報

要約

〜によって VulDB • 2026年10月18日

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

ALSA: ua101 - マッチしないキャプチャ/再生パケットサイズを拒否する

detect_usb_format()関数は、キャプチャインターフェースとプレイバックインターフェースの間で bSubframeSize、bBitResolution、tSamFreq を相互に検証しますが、2つのエンドポイントの wMaxPacketSize と bNrChannels の関係については一切考慮していません。各再生 URB には ua->playback.max_packet_bytes のバッファが割り当てられますが、そこに書き込まれるバイト数はキャプチャストリームから派生します:capture_urb_complete() は受信したキャプチャパケットと capture.frame_bytes からフレーム数を計算し、start_usb_playback() および playback_work() がそれを再生 frame_bytes で乗算します。

したがって、多くのチャンネルに対して小さな wMaxPacketSize を持つプレイバックと、少数のチャンネルに対して大きな wMaxPacketSize を持つキャプチャを宣言するデバイスでは、ドライバーがプローブ時に登録する PCM ノードの open() 処理中に、再生バッファの末尾を超えて memset() および memcpy() が実行されます。usb_submit_urb() は -EMSGSIZE で過長の iso_frame_desc[0].length を拒否しますが、これは書き込み処理の後に行われます。

このような記述子はプローブ時に拒否してください。正規の UA-101/UA-1000 ハードウェアは比例したパケットサイズを宣言しており、影響を受けません。

BUG: KASAN: slab-out-of-bounds in start_usb_playback (sound/usb/misc/ua101.c:586) Write of size 2048 at addr ffff8881098f3c00 by task exploit/5021 Call Trace: __asan_memset (mm/kasan/shadow.c:84) start_usb_playback (sound/usb/misc/ua101.c:586) playback_pcm_open (sound/usb/misc/ua101.c:679) snd_pcm_open_substream (sound/core/pcm_native.c:2829) snd_pcm_open (sound/core/pcm_native.c:2865 sound/core/pcm_native.c:2932) snd_pcm_playback_open (sound/core/pcm_native.c:2891) snd_open (sound/core/sound.c:166) chrdev_open (fs/char_dev.c:411) do_dentry_open (fs/open.c:996) vfs_open (fs/open.c:1101) path_openat (fs/namei.c:4837 fs/namei.c:5000) do_file_open (fs/namei.c:5029) do_sys_openat2 (fs/open.c:1417) __x64_sys_openat (fs/open.c:1423 fs/open.c:1439 fs/open.c:1434) do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)

バグのあるアドレスは ffff8881098f3c00 のオブジェクトに属しており、 これはサイズ 192 のキャッシュ kmalloc-192 に属しています。 バグのあるアドレスは、割り当てられた 168バイトの領域 [ffff8881098f3c00, ffff8881098f3ca8) の内部で 0 バイト目に位置します。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-421932

EPSS

0.00168

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!