[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025090402-CVE-2025-38727-a22c@gregkh>
Date: Thu, 4 Sep 2025 17:33:32 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-38727: netlink: avoid infinite retry looping in netlink_unicast()
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
netlink: avoid infinite retry looping in netlink_unicast()
netlink_attachskb() checks for the socket's read memory allocation
constraints. Firstly, it has:
rmem < READ_ONCE(sk->sk_rcvbuf)
to check if the just increased rmem value fits into the socket's receive
buffer. If not, it proceeds and tries to wait for the memory under:
rmem + skb->truesize > READ_ONCE(sk->sk_rcvbuf)
The checks don't cover the case when skb->truesize + sk->sk_rmem_alloc is
equal to sk->sk_rcvbuf. Thus the function neither successfully accepts
these conditions, nor manages to reschedule the task - and is called in
retry loop for indefinite time which is caught as:
rcu: INFO: rcu_sched self-detected stall on CPU
rcu: 0-....: (25999 ticks this GP) idle=ef2/1/0x4000000000000000 softirq=262269/262269 fqs=6212
(t=26000 jiffies g=230833 q=259957)
NMI backtrace for cpu 0
CPU: 0 PID: 22 Comm: kauditd Not tainted 5.10.240 #68
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc42 04/01/2014
Call Trace:
<IRQ>
dump_stack lib/dump_stack.c:120
nmi_cpu_backtrace.cold lib/nmi_backtrace.c:105
nmi_trigger_cpumask_backtrace lib/nmi_backtrace.c:62
rcu_dump_cpu_stacks kernel/rcu/tree_stall.h:335
rcu_sched_clock_irq.cold kernel/rcu/tree.c:2590
update_process_times kernel/time/timer.c:1953
tick_sched_handle kernel/time/tick-sched.c:227
tick_sched_timer kernel/time/tick-sched.c:1399
__hrtimer_run_queues kernel/time/hrtimer.c:1652
hrtimer_interrupt kernel/time/hrtimer.c:1717
__sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1113
asm_call_irq_on_stack arch/x86/entry/entry_64.S:808
</IRQ>
netlink_attachskb net/netlink/af_netlink.c:1234
netlink_unicast net/netlink/af_netlink.c:1349
kauditd_send_queue kernel/audit.c:776
kauditd_thread kernel/audit.c:897
kthread kernel/kthread.c:328
ret_from_fork arch/x86/entry/entry_64.S:304
Restore the original behavior of the check which commit in Fixes
accidentally missed when restructuring the code.
Found by Linux Verification Center (linuxtesting.org).
The Linux kernel CVE team has assigned CVE-2025-38727 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.4.296 with commit 9da025150b7c14a8390fc06aea314c0a4011e82c and fixed in 5.4.297 with commit 47d49fd07f86d1f55ea1083287303d237e9e0922
Issue introduced in 5.10.240 with commit c4ceaac5c5ba0b992ee1dc88e2a02421549e5c98 and fixed in 5.10.241 with commit 6bee383ff83352a693d03efdf27cdd80742f71b2
Issue introduced in 5.15.189 with commit fd69af06101090eaa60b3d216ae715f9c0a58e5b and fixed in 5.15.190 with commit f324959ad47e62e3cadaffa65d3cff790fb48529
Issue introduced in 6.1.146 with commit 76602d8e13864524382b0687dc32cd8f19164d5a and fixed in 6.1.149 with commit d42b71a34f6b8a2d5c53df81169b03b8d8b5cf4e
Issue introduced in 6.6.99 with commit 55baecb9eb90238f60a8350660d6762046ebd3bd and fixed in 6.6.103 with commit 346c820ef5135cf062fa3473da955ef8c5fb6929
Issue introduced in 6.12.39 with commit 4b8e18af7bea92f8b7fb92d40aeae729209db250 and fixed in 6.12.43 with commit 44ddd7b1ae0b7edb2c832eb16798c827a05e58f0
Issue introduced in 6.15.7 with commit cd7ff61bfffd7000143c42bbffb85eeb792466d6 and fixed in 6.15.11 with commit 78fcd69d55c5f11d7694c547eca767a1cfd38ec4
Issue introduced in 6.16 with commit ae8f160e7eb24240a2a79fc4c815c6a0d4ee16cc and fixed in 6.16.2 with commit e8edc7de688791a337c068693f22e8d8b869df71
Issue introduced in 6.16 with commit ae8f160e7eb24240a2a79fc4c815c6a0d4ee16cc and fixed in 6.17-rc1 with commit 759dfc7d04bab1b0b86113f1164dc1fec192b859
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-38727
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/netlink/af_netlink.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/47d49fd07f86d1f55ea1083287303d237e9e0922
https://git.kernel.org/stable/c/6bee383ff83352a693d03efdf27cdd80742f71b2
https://git.kernel.org/stable/c/f324959ad47e62e3cadaffa65d3cff790fb48529
https://git.kernel.org/stable/c/d42b71a34f6b8a2d5c53df81169b03b8d8b5cf4e
https://git.kernel.org/stable/c/346c820ef5135cf062fa3473da955ef8c5fb6929
https://git.kernel.org/stable/c/44ddd7b1ae0b7edb2c832eb16798c827a05e58f0
https://git.kernel.org/stable/c/78fcd69d55c5f11d7694c547eca767a1cfd38ec4
https://git.kernel.org/stable/c/e8edc7de688791a337c068693f22e8d8b869df71
https://git.kernel.org/stable/c/759dfc7d04bab1b0b86113f1164dc1fec192b859
Powered by blists - more mailing lists