CVE-2025-21884

CVE-2025-21884

High · published March 27, 2025

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

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

net: better track kernel sockets lifetime

While kernel sockets are dismantled during pernet_operations->exit(),

their freeing can be delayed by any tx packets still held in qdisc

or device queues, due to skb_set_owner_w() prior calls.

This then trigger the following warning from ref_tracker_dir_exit() [1]

To fix this, make sure that kernel sockets own a reference on net->passive.

Add sk_net_refcnt_upgrade() helper, used whenever a kernel socket

is converted to a refcounted one.

[1]

[ 136.263918][ T35] ref_tracker: net notrefcnt@ffff8880638f01e0 has 1/2 users at

[ 136.263918][ T35] sk_alloc+0x2b3/0x370

[ 136.263918][ T35] inet6_create+0x6ce/0x10f0

[ 136.263918][ T35] __sock_create+0x4c0/0xa30

[ 136.263918][ T35] inet_ctl_sock_create+0xc2/0x250

[ 136.263918][ T35] igmp6_net_init+0x39/0x390

[ 136.263918][ T35] ops_init+0x31e/0x590

[ 136.263918][ T35] setup_net+0x287/0x9e0

[ 136.263918][ T35] copy_net_ns+0x33f/0x570

[ 136.263918][ T35] create_new_namespaces+0x425/0x7b0

[ 136.263918][ T35] unshare_nsproxy_namespaces+0x124/0x180

[ 136.263918][ T35] ksys_unshare+0x57d/0xa70

[ 136.263918][ T35] __x64_sys_unshare+0x38/0x40

[ 136.263918][ T35] do_syscall_64+0xf3/0x230

[ 136.263918][ T35] entry_SYSCALL_64_after_hwframe+0x77/0x7f

[ 136.263918][ T35]

[ 136.343488][ T35] ref_tracker: net notrefcnt@ffff8880638f01e0 has 1/2 users at

[ 136.343488][ T35] sk_alloc+0x2b3/0x370

[ 136.343488][ T35] inet6_create+0x6ce/0x10f0

[ 136.343488][ T35] __sock_create+0x4c0/0xa30

[ 136.343488][ T35] inet_ctl_sock_create+0xc2/0x250

[ 136.343488][ T35] ndisc_net_init+0xa7/0x2b0

[ 136.343488][ T35] ops_init+0x31e/0x590

[ 136.343488][ T35] setup_net+0x287/0x9e0

[ 136.343488][ T35] copy_net_ns+0x33f/0x570

[ 136.343488][ T35] create_new_namespaces+0x425/0x7b0

[ 136.343488][ T35] unshare_nsproxy_namespaces+0x124/0x180

[ 136.343488][ T35] ksys_unshare+0x57d/0xa70

[ 136.343488][ T35] __x64_sys_unshare+0x38/0x40

[ 136.343488][ T35] do_syscall_64+0xf3/0x230

[ 136.343488][ T35] entry_SYSCALL_64_after_hwframe+0x77/0x7f

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.00217 · 11.5th percentile
Published
2025-03-27T19:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 6.2, < 6.6.1036.6.103
linux/linux_kernel≥ 6.7, < 6.12.436.12.43
linux/linux_kernel≥ 6.13, < 6.13.66.13.6
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 27 MAR 14:57Z
    net: better track kernel sockets lifetime
    cvelistv5