CVE-2025-38727

netlink: avoid infinite retry looping in netlink_unicast()

State
Published
Severity
Not scored
Published
Sep 4, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.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).

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9da025150b7c14a8390fc06aea314c0a4011e82c to before 47d49fd07f86d1f55ea1083287303d237e9e0922Affected
  • c4ceaac5c5ba0b992ee1dc88e2a02421549e5c98 to before 6bee383ff83352a693d03efdf27cdd80742f71b2Affected
  • fd69af06101090eaa60b3d216ae715f9c0a58e5b to before f324959ad47e62e3cadaffa65d3cff790fb48529Affected
  • 76602d8e13864524382b0687dc32cd8f19164d5a to before d42b71a34f6b8a2d5c53df81169b03b8d8b5cf4eAffected
  • 55baecb9eb90238f60a8350660d6762046ebd3bd to before 346c820ef5135cf062fa3473da955ef8c5fb6929Affected
  • 4b8e18af7bea92f8b7fb92d40aeae729209db250 to before 44ddd7b1ae0b7edb2c832eb16798c827a05e58f0Affected
  • cd7ff61bfffd7000143c42bbffb85eeb792466d6 to before 78fcd69d55c5f11d7694c547eca767a1cfd38ec4Affected
  • ae8f160e7eb24240a2a79fc4c815c6a0d4ee16cc to before e8edc7de688791a337c068693f22e8d8b869df71Affected
  • ae8f160e7eb24240a2a79fc4c815c6a0d4ee16cc to before 759dfc7d04bab1b0b86113f1164dc1fec192b859Affected
  • 5.4.296 to before 5.4.297Affected
  • 5.10.240 to before 5.10.241Affected
  • 5.15.189 to before 5.15.190Affected
  • 6.1.146 to before 6.1.149Affected
  • 6.6.99 to before 6.6.103Affected
  • 6.12.39 to before 6.12.43Affected
  • 6.15.7 to before 6.15.11Affected
LinuxLinux
  • 6.16Affected
  • before 6.16Not affected
  • 5.4.297 through 5.4.*Not affected
  • 5.10.241 through 5.10.*Not affected
  • 5.15.190 through 5.15.*Not affected
  • 6.1.149 through 6.1.*Not affected
  • 6.6.103 through 6.6.*Not affected
  • 6.12.43 through 6.12.*Not affected
  • 6.15.11 through 6.15.*Not affected
  • 6.16.2 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.