lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ