製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、net: ipv6: flowlabelに存在した脆弱性が修正されました。ip6fl_seq_show()関数はseq-fileのRCU読み取り側ロック下でグローバルなflowlabelハッシュを巡回し、オプションブロックが存在する場合にfl-opt-opt_nflenを表示します。排他的なflowlabelはfl_release()でfl-usersがゼロになるとすぐにfl-optを解放しますが、struct ip6_flowlabelは後のRCUガベージコレクションまでグローバルハッシュテーブル内に残ります。そのため、同時に/proc/net/ip6_flowlabelを読み取る処理で早期のkfree()と競合し、解放済みオプションを参照することでip6fl_seq_show()がクラッシュする可能性がありました。この問題はfl_free_rcu()までfl-optの存続を保持することで修正され、RCU下で安全に読み取りができるようになりました。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

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

Publication Date April 25, 2026, midnight
Registration Date May 8, 2026, 12:07 p.m.
Last Update May 8, 2026, 12:07 p.m.
CVSS3.0 : 重要
Score 7.8
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 3.9 以上 5.10.253 未満
Linux Kernel 5.11 以上 5.15.203 未満
Linux Kernel 5.16 以上 6.1.168 未満
Linux Kernel 6.13 以上 6.18.22 未満
Linux Kernel 6.19 以上 6.19.12 未満
Linux Kernel 6.2 以上 6.6.134 未満
Linux Kernel 6.7 以上 6.12.81 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月08日]
  掲載
May 8, 2026, 12:07 p.m.

NVD Vulnerability Information
CVE-2026-31680
Summary

In the Linux kernel, the following vulnerability has been resolved:

net: ipv6: flowlabel: defer exclusive option free until RCU teardown

`ip6fl_seq_show()` walks the global flowlabel hash under the seq-file
RCU read-side lock and prints `fl->opt->opt_nflen` when an option block
is present.

Exclusive flowlabels currently free `fl->opt` as soon as `fl->users`
drops to zero in `fl_release()`. However, the surrounding
`struct ip6_flowlabel` remains visible in the global hash table until
later garbage collection removes it and `fl_free_rcu()` finally tears it
down.

A concurrent `/proc/net/ip6_flowlabel` reader can therefore race that
early `kfree()` and dereference freed option state, triggering a crash
in `ip6fl_seq_show()`.

Fix this by keeping `fl->opt` alive until `fl_free_rcu()`. That matches
the lifetime already required for the enclosing flowlabel while readers
can still reach it under RCU.

Publication Date April 25, 2026, 6:16 p.m.
Registration Date April 26, 2026, 4:07 a.m.
Last Update April 28, 2026, 3:32 a.m.
Related information, measures and tools
Common Vulnerabilities List