【活用ガイド】

JVNDB-2026-024875

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。ipv6: ページ化割り当てパス上のfraggapを考慮する__ip6_append_data()関数内で、ページ化割り当ての分岐が選択された場合(MSG_MORE / NETIF_F_SG / 大きなfraglen)、alloclenとpagedlenは以下のように計算されます。alloclen = fragheaderlen + transhdrlen; pagedlen = datalen - transhdrlen。datalenは既にfraggapを含んでいます(datalen = length + fraggap)。fraggapがゼロでない場合、このデータは最初のskbのものではなく、transhdrlenはゼロになります。前のskbから持ち越されたfraggapバイトは、新しいskbの線形領域にあるフラグメントヘッダーの直後にコピーされます。そのため、線形領域はfraggapバイト分だけ不足し、pagedlenは同じ分だけ過大に計算されており、このコピー処理がskb->endを超えてskb_shared_infoの末尾部分に書き込む原因となっていました。権限のないユーザーは、MSG_MOREとMSG_SPLICE_PAGESを組み合わせたUDPv6ソケットを用いることで、この脆弱性をトリガーできます。この不適切な計算はコミット773ba4fe9104("ipv6: avoid partial copy for zc")で導入されました。その前のコミットce650a166335("udp6: Fix __ip6_append_data()'s handling of MSG_SPLICE_PAGES")までは、負のコピー値が -EINVAL を返していました。しかし、その後のコミットでMSG_SPLICE_PAGESがこの状態でも進行可能となり、データ破損が引き起こされるようになりました。ページ化されない分岐では、alloclenはfraglenに設定されており、これは既にfraggapを含むdatalenを考慮しています。今回の修正により、ページ化分岐も同様にalloclenにfraggapを加え、pagedlenからfraggapを減じる形で調整されました。この調整後、ページ化パスのコピーサイズが -fraggap になることはなくなり、古い計算を説明するコメントは削除されました。正当なMSG_SPLICE_PAGESケースにおける負のコピーは想定されなくなったため、負のコピー値チェックからMSG_SPLICE_PAGES例外も削除されました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.0 以上 6.1.177 未満
  • Linux Kernel 6.13 以上 6.18.38 未満
  • Linux Kernel 6.19 以上 7.1.3 未満
  • Linux Kernel 6.2 以上 6.6.144 未満
  • Linux Kernel 6.7 以上 6.12.95 未満

想定される影響

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

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

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

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-53362
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53362
  2. 関連文書 : ipv6: account for fraggap on the paged allocation path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/46f201f8b4c39633a1fa3dc12459f506d470993d)
  3. 関連文書 : ipv6: account for fraggap on the paged allocation path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/736b380e28d0480c7bc3e022f1950f31fe53a7c5)
  4. 関連文書 : ipv6: account for fraggap on the paged allocation path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6374fb9edf72c67a118a2c214a0dddd04c921e0a)
  5. 関連文書 : ipv6: account for fraggap on the paged allocation path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/65fb14cbebb0cd0eff903a22d33537ddc8b95769)
  6. 関連文書 : ipv6: account for fraggap on the paged allocation path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/14200d435af9a9eeb444f529fc2f689a236b7962)
  7. 関連文書 : ipv6: account for fraggap on the paged allocation path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e9eacf19281ea2498b36291b56c9606118c2d74e)
更新履歴

  • [2026年07月24日]
      掲載