Linux Distros のパッチ未適用の脆弱性: CVE-2026-80590

critical Nessus プラグイン ID 341290

概要

Linux/Unix ホストには、ベンダーにより修正されていないことを示す脆弱性を持つ複数のパッケージがインストールされています。

説明

Linux/Unix ホストには、ベンダーが提供するパッチが利用できない脆弱性の影響を受ける複数のパッケージがインストールされています。

- inet:frags:再アセンブリの前にフラグメントから GSO 状態を取り除きます virtio_net_hdr(tun/tap、または PACKET_VNET_HDR 付きAF_PACKET)は、IPv4 または IPv6 フラグメントを GSO としてマークできます。frag_offにgso_type関係のあるものは何もありません。
inet_frag_reasm_prepare()/inet_frag_reasm_finish() は、shinfo->gso_size/gso_type/gso_segs を含めて、再構成されたデータグラムの先頭として最初のフラグメントの skb を保持し、残りのフラグメントを frag_list で提供されたリニア/ページレイアウトと連結させます。このため、ip_defrag()(ip_local_deliver()、nf_defrag_ipv4、...) の後で、再構築された skb は依然として GSO (SKB_GSO_DODGY) であると主張し、次のソフトウェアセグメンテーションポイント - ローカルデリバリの udp_rcv_segment()、validate_xmit_skb()、または ip_finish_output_gso() のスローパス - は、それを skb_segment() に渡します。skb_segment() の frag_list walk は、GRO 形状の入力を想定し、その BUG_ON() の 1 つをヒットします。権限のないユーザーがタップに 2 回書き込むだけで十分です:net/core/skbuff.c:4899! Oops:無効な opcode:0000 [#1] SMP KASAN NOPTI CPU:0 UID:1000 PID:82 通信:poc 汚染されていない 7.2.0-pentest+ #2 RIP:0010:skb_segment+0x20ca/0x48b0 コールトレース:
<TASK> __udp_gso_segment+0x29a/0x27d0 udp4_ufo_fragment+0x458/0x6c0 inet_gso_segment+0x429/0x1340 skb_mac_gso_segment+0x233/0x4f0 __skb_gso_segment+0x308/0x660 udp_queue_rcv_skb+0x440/0xad0 udp_unicast_rcv_skb+0xc7/0x2c0 udp_rcv+0x16ce/0x2260 ip_protocol_deliver_rcu+0x197/0x2d0 ip_local_deliver+0x430/0x690 ip_rcv+0x16f/0x1f0 __netif_receive_skb_one_core+0x15e/0x1c0
__netif_receive_skb+0x1e/0x110 netif_receive_skb+0xf6/0x5c0 tun_rx_batched.isra.0+0x3ab/0x790 tun_get_user+0x17c3/0x3550 tun_chr_write_iter+0xba/0x1b0 vfs_write+0x646/0x1130 </TASK> カーネルパニック - 同期していない:割り込みでの致命的な例外 これは BH を無効にして実行されるため、oops ではなくパニックです。
デフラグポイントが GSO ポイントに先行する netns の CAP_NET_RAW、および VMM がタップにvirtio_net_hdr転送するゲストからも、同じことが起こり得ます。コミット 3dcbdb134f32(net:gso:リニアヘッドfrag_list)を持つマングルされた skb gso_size分割時のskb_segmentスプラットの修正)およびコミット 9e4b7a99a03a(net:gso:混合ヘッド割り当てタイプを伴う frag_list のパニックを修正)により追加された SKB_GSO_DODGY frag_list チェックは、それをカバーしていません:ページバックヘッドはこれらをスキップし、kmalloc ヘッドは、gso_size == skb_headlen(head) の場合、これらをスキップします。 送信者が制御します。フラグキューに入るskbは、定義上IPフラグメントであり、GSO状態を正当に運ぶことはできません:GROはフラグメント化する前にフラグメントとスタックセグメントをマージしないため、信頼できないソースのみが影響を受けます。これは、ユーザー空間に GSO メタデータを IP フラグメントに添付させる最初のパスであるコミット f43798c27684(tun:virtio_net_hdr を使用する GSO を許可)以降、達成可能になっています。IPv4、IPv6、nf_conntrack_reasmおよび 6lowpan 再アセンブリが共有する inet_frag_queue_insert() で、キューに登録されているすべてのフラグメントの GSO フィールドをリセットします。その後、再編成された skb の頭もfrag_listのメンバーもそれらを運びません (メンバーも重要です: ip_do_fragment()/ip6_fragment() 高速パスはそれらをそのまま送り出します)。頭はCHECKSUM_PARTIALのままになる場合があります。これは、受信時に既に受け入れられており、転送時に ip_do_fragment()/ip6_fragment() の skb_checksum_help() によって解決されています。net.git(dc4b95b8fee9)の上でテストしました。x86_64:上記のタップリプロデューサー、BUG_ON(i >= nfrags)およびBUG_ON(!list_skb->head_frag)に到達するさらに2つのIPv4 frag_listジオメトリ、IPv6フラグメントヘッダーバリアント(udp6_ufo_fragment())がそれぞれパッチを適用されていないカーネルをパニックに陥らせます。このパッチにより、4 つのデータグラムはすべて完全なまま提供され、何もログに記録されません。(CVE-2026-80590)

Nessus は、ベンダーから報告されたパッケージの存在に依存していることに注意してください。

ソリューション

現時点で既知の解決策はありません。

参考資料

https://security-tracker.debian.org/tracker/CVE-2026-80590

プラグインの詳細

深刻度: Critical

ID: 341290

ファイル名: unpatched_CVE_2026_80590.nasl

バージョン: 1.1

タイプ: Local

エージェント: unix

ファミリー: Misc.

公開日: 2026/8/28

更新日: 2026/8/28

サポートされているセンサー: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: Low

スコア: 3

パーセンタイル: 23.65

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 6.4

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: CVE-2026-80590

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:U/RL:U/RC:C

脆弱性情報

CPE: cpe:/o:debian:debian_linux:11.0, cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:14.0, p-cpe:/a:debian:debian_linux:linux

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

エクスプロイトの容易さ: No known exploits are available

脆弱性公開日: 2026/8/28

参照情報

CVE: CVE-2026-80590