CVE-2026-43503
net: skbuff: 共有フラグマーカーをフラグ転送ヘルパー経由で伝播させる
- 公開済み
- 2026/05/23
- 更新済み
- 2026/08/24
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 27.1%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linuxカーネルにおいて、以下の脆弱性が解決されました: net: skbuff: frag転送ヘルパーを通じて共有fragマーカーを伝播させる 2つのfrag転送ヘルパー(__pskb_copy_fclone() と skb_shift())は、fragを送信元から送信先へ移動する際に、skb_shinfo()->flags の SKBFL_SHARED_FRAG ビットを伝播しません。__pskb_copy_fclone() は、frag記述子をコピーした後、残りのshinfoメタデータの処理を skb_copy_header() に委ねますが、このヘルパーは gso_{size,segs, type} のみを引き継ぎ、skb_shinfo()->flags には一切触れません。skb_shift() はfrag記述子を直接移動し、flagsを変更しないままにします。その結果、宛先skbは、外部所有またはページキャッシュに裏打ちされた同一ページへの参照を保持しているにもかかわらず、skb_has_shared_frag() が false を報告します。 この不一致は、共有ページを skb_cow_data() 経由で迂回させなければならないかどうかを判断するために skb_has_shared_frag() を使用する、あらゆるインプレース書き込み処理にとって有害です。ESP入力はそのような処理の1つであり(esp4.c、esp6.c)、単一のnft 'dup to <local>' ルール、またはその他の nf_dup_ipv4() / xt_TEE 呼び出し元だけで、マーカーが除去された pskb_copy() 済みのskbを esp_input() に到達させ、非特権ユーザーが authencesn-ESN の不正書き込みを介して、root所有の読み取り専用ファイルのページキャッシュへ書き込むことを可能にします。 frag記述子が実際に送信元から移動された場合は常に、宛先に SKBFL_SHARED_FRAG を設定します。skb_copy() と skb_copy_expand() も skb_copy_header() を共有しますが、すべてのページデータを新規割り当てされたheadストレージに線形化し、結果として nr_frags == 0 になるため、skb_has_shared_frag() は自動的に false を返します。これらに変更は必要ありません。 同じ欠落が skb_gro_receive() と skb_gro_receive_list() にも存在します。前者は、着信skbのfrag記述子を、2つの経路(直接のfrag移動ループと head_frag + memcpy 経路)を介してアキュムレータの最後のサブskbに移動します。後者は、着信skb全体を p の frag_list に連結します。後段の skb_segment() は skb_shinfo(p)->flags のみを読み取り、skb_segment_list() は各サブskbのshinfoをnskbとして再利用するため、p と lp の両方がマーカーを保持する必要があります。 同じ欠落は、sk_write_queue 上のskbから新規割り当てされたnskbへfrag記述子を移動してMTUプローブskbを構築する tcp_clone_payload() にも存在します。このヘルパーも同じ系統に属するため、整合性の観点から同じ修正が妥当です。現在のところ、この隙間を通じてユーザーページに到達することが知られているTCP送信側のインプレース書き込み処理はありませんが、将来このマーカーに依存するコンシューマが現れた場合、サイレントに退行するでしょう。 同じ欠落は skb_segment() にも存在します。反復ごとのフラグ統合は head_skb のフラグのみを取得し、head_skb-frags の枯渇時に frag_skb を list_skb に再バインドする内部のスイッチは、新しい frag_skb のフラグを nskb に統合しません。frag_list メンバーからfragを取得するセグメントがマーカーを保持するように、両方の箇所で frag_skb のフラグを統合します。
ソース
8CVE-2026-43503
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。