CVE-2026-97984 in Linux情報

要約

〜によって VulDB • 2026年09月25日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

net: ipv6: PMTU discoveryと大きなMTUにおけるUDP長さのオーバーフローを修正

このコミットは、IPV6_MTU_DISCOVERが IPV6_PMTUDISC_DO または IPV6_PMTUDISC_PROBE に設定され、 unusually large MTU(通常より大きいMTU)を持つnetdev上で大きなパケットが送信される際に、UDP長さのオーバーフローが発生して udp_set_len_short でWARNが発行されるのを防ぐため、UDPソケットに対して cork->base.fragsize を IP6_MAX_MTU に制限します。

再現手順(新しいselftestに含まれています):

1. デバイスのMTUを IP6_MAX_MTU より大きく設定する。これにより ip6_setup_cork で cork->base.fragsize がそのMTUに設定される。 2. IPV6_MTU_DISCOVER を IPV6_PMTUDISC_PROBE または IPV6_PMTUDISC_DO に設定する。これにより、__ip6_append_data 内で maxnonfragsize が IP6_MAX_MTU ではなくデバイスのMTU(cork->fragsize)に設定されるようになる。 3. ペイロードとして 65528 バイトを送信する(UDPヘッダが+8バイト、IPv6ヘッダが+40バイト付加)。デバイスMTUはこれを許可する(IP6_MAX_MTU より1バイト大きく、かつデバイスのMTUはその値より大きいため)。 4. 構築されたパケット内のUDP長さは 65536 となり、16ビットの長さフィールドでオーバーフローし、udp_set_len_short でWARNを引き起こす。

生のIPv6ソケット上でUDP jumbogramを送信する機能を壊さないよう、この変更はUDPソケットのみを対象とする。

IPv6および IPV6_PMTUDISC_DO を伴う元のオーバーフローバグはgitの履歴よりも以前に存在していたことが確認されており(2.6.21で再現を確認)、その後修正されたが、コミット 427faee167bc ("net: ipv6: introduce ip6_dst_mtu_maybe_forward") で再発した。そのため、Fixesタグにはこのコミットが選択されている。 IPV6_PMTUDISC_PROBE を伴うオーバーフローは、その導入時(コミット 628a5c561890 "[INET]: Add IP(V6)_PMTUDISC_RPOBE")から再現可能である。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-410049

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!