【活用ガイド】

JVNDB-2026-023799

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

概要

Linuxカーネルにおいて以下の脆弱性が修正されました。・i2c: dev: I2C_TIMEOUT ioctlにおける整数オーバーフローの防止。Syzkallerによるファジング中に、「schedule_timeout: wrong timeout value」という警告が継続的に発生し、それに伴いSMBusコントローラの状態機械が破損する現象が観測されました。I2C_TIMEOUT ioctlはユーザーから提供されるタイムアウト値を10ms単位で受け取ります。ユーザーの引数はINT_MAXと比較してチェックされますが、その後10倍されてmsecs_to_jiffies()関数に渡されます。悪意のあるユーザーは、例えば429496729のような大きな値を渡すことができ、これは「arg > INT_MAX」のチェックを通過しますが、10倍される過程でオーバーフローが発生します。これにより32ビットの符号なし整数値が切り詰められ、msecs_to_jiffies()内の内部チェックである「(int)m < 0」を回避してしまいます。切り詰められた値は「client->adapter->timeout」に割り当てられますが、これは符号付き32ビット整数として解釈されるため負の数になります。この負の値がwait_for_completion_timeout()に渡される際、64ビットの符号なしlongに符号拡張され、「schedule_timeout」という警告を引き起こして早期にリターンします。これによりSMBusの状態機械は回復不能な状態となり、ローカルのサービス拒否(DoS)を引き起こします。この問題はユーザー引数を「INT_MAX / 10」で制限することで修正されました。[wsa: コメントも移動しました]
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 2.6.29.1 以上 5.10.259 未満
  • Linux Kernel 5.11 以上 5.15.210 未満
  • Linux Kernel 5.16 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.36 未満
  • Linux Kernel 6.19 以上 7.0.13 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.94 未満
  • Linux Kernel 2.6.29
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

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

  1. CVE-2026-52948
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52948
  2. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ffbcf31f032eb454ebfd29309f51366fe57f4ac4)
  3. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4576621dc6577f21a032acfd16c3ad61907a5ea7)
  4. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/aa6ef734016912653a909477fb30aeb66c98b3a2)
  5. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/617eb7c0961a8dfcfc811844a6396e406b2923ea)
  6. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/943e318eedbeaeea08ece3f5dd44c982f4ed2ef5)
  7. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0b88ecfbc9dc33b4db8836c37b50cf174e6c0691)
  8. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e9ffd5f5050fbb199d270a85614cd27ebed6fbac)
  9. 関連文書 : i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ff02add34ffd03449b8115904ebe2ec4fed022d4)
更新履歴

  • [2026年07月16日]
      掲載