【活用ガイド】

JVNDB-2026-031747

LinuxのLinux Kernelにおける境界条件の判定に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:net: tls: sk_msgリングのラップ時のsg_chainエントリ数のオフバイワンを修正しました。sk_msgのscatterlistリングがラップするとき(sg.end < sg.start)、tls_push_record()はsg_chain()を使ってリングの末尾部分を先頭に連結します。このため、sg配列には追加のエントリが予約されています。 struct sk_msg_sg { [...] /* 追加の2つの要素: * 1) リストが分割される(例:end < start)際に、前部分と後部分を連結するために使われます。暗号APIはこの連結を要求しています。 * 2) メッセージ後にテールのSGエントリを連結するためです。 */ struct scatterlist data[MAX_MSG_FRAGS + 2];現在のコードではリングサイズとしてMAX_SKB_FRAGS + 1を使用しています。 sg_chain(&msg_pl->sg.data[msg_pl->sg.start], MAX_SKB_FRAGS - msg_pl->sg.start + 1, msg_pl->sg.data);これによりチェインポインタは以下のように配置されてしまい、真の最後のエントリではありません。 sg_chain(data[start], (MAX_SKB_FRAGS - start + 1)) = &data[start] + (MAX_SKB_FRAGS - start + 1) - 1 = data[start + (MAX_SKB_FRAGS - start + 1) - 1] = data[MAX_SKB_FRAGS]これは、おそらくFixesがcommit 031097d9e079("bpf: sk_msg, zap ingress queue on psock down")に近い状態で適用された「競合」が原因です。提案された方法としては、Sabrinaの指摘に従い、data[start]や-startを削除し、ARRAY_SIZEを使うように変更してください。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.11 以上 5.15.209 未満
  • Linux Kernel 5.16 以上 6.1.175 未満
  • Linux Kernel 5.4.14 以上 5.5 未満
  • Linux Kernel 5.5.1 以上 5.10.258 未満
  • Linux Kernel 6.13 以上 6.18.34 未満
  • Linux Kernel 6.19 以上 7.0.11 未満
  • Linux Kernel 6.2 以上 6.6.142 未満
  • Linux Kernel 6.7 以上 6.12.92 未満
  • Linux Kernel 5.5
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

  1. 境界条件の判定(CWE-193) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-64047
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64047
  2. 関連文書 : net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/eca989eab4b2599dcb02f72140a7c08f08838520)
  3. 関連文書 : https://git.kernel.org/stable/c/285943c6e7ca309bbea84b253745154241d9788a
  4. 関連文書 : net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/66339b71f105e6f83e0da3b9583d95077534fe1d)
  5. 関連文書 : net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2fb0dc7e0099686c4e9d2732745d8a31b18c3628)
  6. 関連文書 : net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/47110c3a9ac247b688657337f5981efcfcb240dc)
  7. 関連文書 : https://git.kernel.org/stable/c/131ef12057d92b77b636321b7849c69222405a97
  8. 関連文書 : net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/73963a375885d5ccb7def39fd0b4f542e0f343dd)
  9. 関連文書 : net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/84158c2997159df4a0d70cd9c46774512d32a522)
更新履歴

  • [2026年09月03日]
      掲載