【活用ガイド】

JVNDB-2026-016729

LinuxのLinux Kernelにおける整数オーバーフローの脆弱性

概要

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()マクロを用いて安全にシフトを行い、オーバーフローを検出することで修正されました。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


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による脆弱性タイプ一覧  CWEとは?

  1. 整数オーバーフローまたはラップアラウンド(CWE-190) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31412
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31412
  2. 関連文書 : 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)
  3. 関連文書 : 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)
  4. 関連文書 : 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)
  5. 関連文書 : 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)
  6. 関連文書 : 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)
  7. 関連文書 : 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日]
      掲載