Linuxカーネルにおいて、以下の脆弱性が修正されました。usb: gadget: f_mass_storageにおけるcheck_command_size_in_blocks()関数での潜在的な整数オーバーフローの問題です。`check_command_size_in_blocks()`関数は、`common-data_size_from_cmnd`をブロックサイズ(`common-curlun-blkbits`)分だけ左シフトしてデータサイズ(バイト単位)を計算します。しかし、このシフト操作によって整数オーバーフローが発生するかどうかの検証が行われていませんでした。ブロックサイズは`fsg_lun_open()`で設定され、`common-data_size_from_cmnd`は`do_scsi_command()`で設定されます。初期化時にはこれら二つの変数間での整数オーバーフローの確認が行われていませんでした。そのため、悪意のあるUSBホストが大量のデータを要求するSCSI READまたはWRITEコマンド(`common-data_size_from_cmnd`)を送信すると、左シフト操作がオーバーフローしデータサイズが切り詰められて境界チェックを回避できる可能性がありました。これにより、メモリ破損や範囲外アクセスが発生する恐れがありました。この問題は、check_shl_overflow()マクロを用いて安全にシフトを行い、オーバーフローを検出することで修正されました。
Linux Linux Kernel 3.3 以上 6.1.167 未満 Linux Kernel 6.13 以上 6.18.19 未満 Linux Kernel 6.19 以上 6.19.9 未満 Linux Kernel 6.2 以上 6.6.130 未満 Linux Kernel 6.7 以上 6.12.78 未満 Linux Kernel 7.0
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
整数オーバーフローまたはラップアラウンド(CWE-190) [NVD評価]
CVE-2026-31412
National Vulnerability Database (NVD) : CVE-2026-31412 関連文書 : usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3428dc5520c811e66622b2f5fa43341bf9a1f8b3) 関連文書 : usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/91817ad5452defe69bc7bc0e355f0ed5d01125cc) 関連文書 : usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/387ebb0453b99d71491419a5dc4ab4bee0cacbac) 関連文書 : usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8479891d1f04a8ce55366fe4ca361ccdb96f02e1) 関連文書 : usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/228b37936376143f4b60cc6828663f6eaceb81b5) 関連文書 : usb: gadget: f_mass_storage: Fix potential integer overflow in check_command_size_in_blocks() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ce0caaed5940162780c5c223b8ae54968a5f059b)
[2026年05月22日] 掲載