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: <2025072502-CVE-2025-38443-419c@gregkh>
Date: Fri, 25 Jul 2025 17:28:05 +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-38443: nbd: fix uaf in nbd_genl_connect() error path

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

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

nbd: fix uaf in nbd_genl_connect() error path

There is a use-after-free issue in nbd:

block nbd6: Receive control failed (result -104)
block nbd6: shutting down sockets
==================================================================
BUG: KASAN: slab-use-after-free in recv_work+0x694/0xa80 drivers/block/nbd.c:1022
Write of size 4 at addr ffff8880295de478 by task kworker/u33:0/67

CPU: 2 UID: 0 PID: 67 Comm: kworker/u33:0 Not tainted 6.15.0-rc5-syzkaller-00123-g2c89c1b655c0 #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Workqueue: nbd6-recv recv_work
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:408 [inline]
 print_report+0xc3/0x670 mm/kasan/report.c:521
 kasan_report+0xe0/0x110 mm/kasan/report.c:634
 check_region_inline mm/kasan/generic.c:183 [inline]
 kasan_check_range+0xef/0x1a0 mm/kasan/generic.c:189
 instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
 atomic_dec include/linux/atomic/atomic-instrumented.h:592 [inline]
 recv_work+0x694/0xa80 drivers/block/nbd.c:1022
 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3238
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400
 kthread+0x3c2/0x780 kernel/kthread.c:464
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>

nbd_genl_connect() does not properly stop the device on certain
error paths after nbd_start_device() has been called. This causes
the error path to put nbd->config while recv_work continue to use
the config after putting it, leading to use-after-free in recv_work.

This patch moves nbd_start_device() after the backend file creation.

The Linux kernel CVE team has assigned CVE-2025-38443 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.14 with commit 6497ef8df568afbf5f3e38825a4590ff41611a54 and fixed in 5.15.189 with commit cb121c47f364b51776c4db904a6a5a90ab0a7ec5
	Issue introduced in 5.14 with commit 6497ef8df568afbf5f3e38825a4590ff41611a54 and fixed in 6.1.146 with commit 91fa560c73a8126868848ed6cd70607cbf8d87e2
	Issue introduced in 5.14 with commit 6497ef8df568afbf5f3e38825a4590ff41611a54 and fixed in 6.6.99 with commit d46186eb7bbd9a11c145120f2d77effa8d4d44c2
	Issue introduced in 5.14 with commit 6497ef8df568afbf5f3e38825a4590ff41611a54 and fixed in 6.12.39 with commit 8586552df591e0a367eff44af0c586213eeecc3f
	Issue introduced in 5.14 with commit 6497ef8df568afbf5f3e38825a4590ff41611a54 and fixed in 6.15.7 with commit 002aca89753f666d878ca0eb8584c372684ac4ba
	Issue introduced in 5.14 with commit 6497ef8df568afbf5f3e38825a4590ff41611a54 and fixed in 6.16-rc6 with commit aa9552438ebf015fc5f9f890dbfe39f0c53cf37e

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-38443
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:
	drivers/block/nbd.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/cb121c47f364b51776c4db904a6a5a90ab0a7ec5
	https://git.kernel.org/stable/c/91fa560c73a8126868848ed6cd70607cbf8d87e2
	https://git.kernel.org/stable/c/d46186eb7bbd9a11c145120f2d77effa8d4d44c2
	https://git.kernel.org/stable/c/8586552df591e0a367eff44af0c586213eeecc3f
	https://git.kernel.org/stable/c/002aca89753f666d878ca0eb8584c372684ac4ba
	https://git.kernel.org/stable/c/aa9552438ebf015fc5f9f890dbfe39f0c53cf37e

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ