【活用ガイド】

JVNDB-2026-021359

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。この脆弱性は、net: skbuffのフラグメント転送ヘルパーを通じて共有フラグメントマーカーが正しく伝播されない問題に起因します。2つのフラグメント転送ヘルパー(__pskb_copy_fclone() と skb_shift())は、フラグメントをソースから宛先に移動するときに skb_shinfo()-flags の SKBFL_SHARED_FRAG ビットを伝播しません。__pskb_copy_fclone() はフラグメント記述子のコピー後に残りの shinfo メタデータを skb_copy_header() に委ねますが、このヘルパーは gso_{size,segs,type} のみを引き継ぎ、skb_shinfo()-flags に触れません。skb_shift() はフラグメント記述子を直接移動し、flags はそのままにします。その結果、宛先の skb は同じ外部所有またはページキャッシュ対応ページへの参照を維持しつつ、skb_has_shared_frag() が false を返します。この不整合は、skb_has_shared_frag() を使って共有ページを skb_cow_data() 経由で迂回する必要があるかを判断するインプレースライターにとって有害です。ESP入力(esp4.c, esp6.c)はそのようなライターの一例であり、単一の nft 'dup to local' ルールやその他の nf_dup_ipv4() / xt_TEE 呼び出しで pskb_copy() された skb が esp_input() にてマーカーを剥奪された状態で渡ると、権限のないユーザーが authencesn-ESN の逸脱書き込みを介してルート所有の読み取り専用ファイルのページキャッシュに書き込むことが可能になります。フラグメント記述子が実際にソースから移動された場合は、宛先の skb に SKBFL_SHARED_FRAG を設定します。skb_copy() と skb_copy_expand() も skb_copy_header() を共有しますが、すべてのページデータを新たに割り当てられたヘッドストレージに線形化し、nr_frags == 0 となるため、skb_has_shared_frag() は自動的に false を返しており、変更は不要です。同様の欠落は skb_gro_receive() と skb_gro_receive_list() にも存在します。前者は直接のフラグメント移動ループおよび head_frag + memcpy 経路の2つで受信skbのフラグメント記述子をアキュムレーターの最後のサブskbに移動し、後者は受信skbを p の frag_list に連結します。下流の skb_segment() は skb_shinfo(p)-flags のみを読み取り、skb_segment_list() は各サブskbの shinfo を nskb として再利用するため、p と lp は両方マーカーを持つ必要があります。同様の欠落は tcp_clone_payload() にも存在します。これは sk_write_queue 上の skb からフラグメント記述子を移動して新たに割り当てられた nskb で MTU プローブ skb を構築します。このヘルパーは同じタイプに属しており、一貫性のため同じ修正が必要です。現在のところ、このギャップを介してユーザーページに到達する TCP TX 側のインプレースライターは知られていませんが、将来マーカーに依存する利用者が silently 後退する可能性があります。同様の欠落は skb_segment() にもあります。反復ごとのフラグマージは head_skb のフラグのみを取得し、head_skb のフラグメント枯渇時に frag_skb を list_skb に再バインドする内部のスイッチは新しい frag_skb のフラグを nskb に反映しません。両方の箇所で frag_skb のフラグを反映させ、frag_list メンバーからフラグメントを取り出すセグメントがマーカーを保持するように修正しました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 3.9 以上 5.10.257 未満
  • Linux Kernel 5.11 以上 5.15.208 未満
  • Linux Kernel 5.16 以上 6.1.174 未満
  • Linux Kernel 6.13 以上 6.18.33 未満
  • Linux Kernel 6.19 以上 7.0.10 未満
  • Linux Kernel 6.2 以上 6.6.141 未満
  • Linux Kernel 6.7 以上 6.12.91 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

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

  1. CVE-2026-43503
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-43503
  2. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ff375cc75f9167168db38e0464a482d5fbc8d81d)
  3. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/179f1852bdedc300e373e807cc102cd81feff196)
  4. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9bc9d6d6967a2239aa57af2aa53554eddd640d20)
  5. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/48f6a5356a33dd78e7144ae1faef95ffc990aae0)
  6. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/989214c66884d70716d83dc1d0bf5e16287bf349)
  7. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/12401fcfb01f53ccc63ab0a3246570fe8f3105ee)
  8. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/fbeab9555564a1b98e8582cd106dfe46c4606991)
  9. 関連文書 : net: skbuff: propagate shared-frag marker through frag-transfer helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/fc6eb39c55e97df2f94ad974b8a5bbcd019da2c8)
更新履歴

  • [2026年06月29日]
      掲載