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: <2025032711-CVE-2023-52999-e28e@gregkh>
Date: Thu, 27 Mar 2025 17:43:46 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2023-52999: net: fix UaF in netns ops registration error path

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

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

net: fix UaF in netns ops registration error path

If net_assign_generic() fails, the current error path in ops_init() tries
to clear the gen pointer slot. Anyway, in such error path, the gen pointer
itself has not been modified yet, and the existing and accessed one is
smaller than the accessed index, causing an out-of-bounds error:

 BUG: KASAN: slab-out-of-bounds in ops_init+0x2de/0x320
 Write of size 8 at addr ffff888109124978 by task modprobe/1018

 CPU: 2 PID: 1018 Comm: modprobe Not tainted 6.2.0-rc2.mptcp_ae5ac65fbed5+ #1641
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.1-2.fc37 04/01/2014
 Call Trace:
  <TASK>
  dump_stack_lvl+0x6a/0x9f
  print_address_description.constprop.0+0x86/0x2b5
  print_report+0x11b/0x1fb
  kasan_report+0x87/0xc0
  ops_init+0x2de/0x320
  register_pernet_operations+0x2e4/0x750
  register_pernet_subsys+0x24/0x40
  tcf_register_action+0x9f/0x560
  do_one_initcall+0xf9/0x570
  do_init_module+0x190/0x650
  load_module+0x1fa5/0x23c0
  __do_sys_finit_module+0x10d/0x1b0
  do_syscall_64+0x58/0x80
  entry_SYSCALL_64_after_hwframe+0x72/0xdc
 RIP: 0033:0x7f42518f778d
 Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48
       89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff
       ff 73 01 c3 48 8b 0d cb 56 2c 00 f7 d8 64 89 01 48
 RSP: 002b:00007fff96869688 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
 RAX: ffffffffffffffda RBX: 00005568ef7f7c90 RCX: 00007f42518f778d
 RDX: 0000000000000000 RSI: 00005568ef41d796 RDI: 0000000000000003
 RBP: 00005568ef41d796 R08: 0000000000000000 R09: 0000000000000000
 R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000
 R13: 00005568ef7f7d30 R14: 0000000000040000 R15: 0000000000000000
  </TASK>

This change addresses the issue by skipping the gen pointer
de-reference in the mentioned error-path.

Found by code inspection and verified with explicit error injection
on a kasan-enabled kernel.

The Linux kernel CVE team has assigned CVE-2023-52999 to this issue.


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

	Issue introduced in 4.19.264 with commit 5a2ea549be94924364f6911227d99be86e8cf34a and fixed in 4.19.272 with commit ad0dfe9bcf0d78e699c7efb64c90ed062dc48bea
	Issue introduced in 5.4.223 with commit 97ad240fd9aa9214497d14af2b91608e20856cac and fixed in 5.4.231 with commit ddd49cbbd4c1ceb38032018b589b44208e54f55e
	Issue introduced in 5.10.153 with commit c3edc6e808209aa705185f732e682a370981ced1 and fixed in 5.10.166 with commit d4c008f3b7f7d4ffd311eb2dae5e75b3cbddacd0
	Issue introduced in 5.15.77 with commit a1e18acb0246bfb001b08b8b1b830b5ec92a0f13 and fixed in 5.15.91 with commit 66689a72ba73575e76d4f6a8748d3fa2690ec1c4
	Issue introduced in 6.1 with commit d266935ac43d57586e311a087510fe6a084af742 and fixed in 6.1.9 with commit 12075708f2e77ee6a9f8bb2cf512c38be3099794
	Issue introduced in 6.1 with commit d266935ac43d57586e311a087510fe6a084af742 and fixed in 6.2 with commit 71ab9c3e2253619136c31c89dbb2c69305cc89b1
	Issue introduced in 6.0.7 with commit 4a4df5e78712de39d6f90d6a64b5eb48dca03bd5

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-2023-52999
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/core/net_namespace.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/ad0dfe9bcf0d78e699c7efb64c90ed062dc48bea
	https://git.kernel.org/stable/c/ddd49cbbd4c1ceb38032018b589b44208e54f55e
	https://git.kernel.org/stable/c/d4c008f3b7f7d4ffd311eb2dae5e75b3cbddacd0
	https://git.kernel.org/stable/c/66689a72ba73575e76d4f6a8748d3fa2690ec1c4
	https://git.kernel.org/stable/c/12075708f2e77ee6a9f8bb2cf512c38be3099794
	https://git.kernel.org/stable/c/71ab9c3e2253619136c31c89dbb2c69305cc89b1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ