CVE-2026-93122 in Linux情報

要約

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

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

usb: gadget: uac: 保存前にレートリストの長さを検証する

UAC1およびUAC2のconfigfs rate-list属性は、カンマ区切りのサンプリングレートのリストを解析し、各値を固定サイズの配列に格納します。これらの配列には UAC_MAX_RATES エントリが含まれていますが、storeパスでは opts->name##s[i++] への書き込み前に、入力が最大でもその数のトークンを含んでいるかどうかのチェックが行われていませんでした。

10件を超えるレートを記述すると、struct f_uac1_opts または struct f_uac2_opts の p_srates[] および c_srates[] 配列の末尾を超えて書き込まれます。

CONFIG_UBSAN_BOUNDS が有効な場合、UAC1 p_srate属性に11エントリのレートリストを書き込むと、以下のような報告が行われます:

UBSAN: array-index-out-of-bounds drivers/usb/gadget/function/f_uac1.c:1669:1 index 10 is out of range for type 'int [10]'
__ubsan_handle_out_of_bounds.cold f_uac1_opts_p_srate_store configfs_write_iter vfs_write ksys_write do_syscall_64

UAC2 p_srate属性に対して同じ再現手順を実行すると、以下のような報告が行われます:

UBSAN: array-index-out-of-bounds drivers/usb/gadget/function/f_uac2.c:2087:1 index 10 is out of range for type 'int [10]'
__ubsan_handle_out_of_bounds.cold f_uac2_opts_p_srate_store configfs_write_iter vfs_write ksys_write do_syscall_64

UAC_MAX_RATES エントリが解析された時点で、追加のトークンを拒否します。また、strsep() がパースカーソルを進めるため、kfree() のために元の kstrdup() ポインタを保持してください。進んだカーソルを解放すると、正常なパース時に元のバッファリークを引き起こし、一部のエラーパスでは内部ポインタの解放(二重解放など)につながる可能性があります。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年09月17日

モデレーション

承諾済み

エントリ

VDB-407208

EPSS

0.00000

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!