CVE-2026-31680CWE-416

CVE-2026-31680

High · published April 25, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00126 · 2.1th percentile
Weakness
CWE-416 · Use After Free
Published
2026-04-25T13:16Z
Affected products (13)
ProductVersionsFixed in
linux/linux_kernel≥ 3.9, < 5.10.2535.10.253
linux/linux_kernel≥ 5.11, < 5.15.2035.15.203
linux/linux_kernel≥ 5.16, < 6.1.1686.1.168
linux/linux_kernel≥ 6.2, < 6.6.1346.6.134
linux/linux_kernel≥ 6.7, < 6.12.816.12.81
linux/linux_kernel≥ 6.13, < 6.18.226.18.22
linux/linux_kernel≥ 6.19, < 6.19.126.19.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 25 APR 08:46Z
    net: ipv6: flowlabel: defer exclusive option free until RCU teardown
    cvelistv5