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] [day] [month] [year] [list]
Message-ID: <2025012322-CVE-2024-57947-480e@gregkh>
Date: Thu, 23 Jan 2025 14:54:23 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2024-57947: netfilter: nf_set_pipapo: fix initial map fill

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

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

netfilter: nf_set_pipapo: fix initial map fill

The initial buffer has to be inited to all-ones, but it must restrict
it to the size of the first field, not the total field size.

After each round in the map search step, the result and the fill map
are swapped, so if we have a set where f->bsize of the first element
is smaller than m->bsize_max, those one-bits are leaked into future
rounds result map.

This makes pipapo find an incorrect matching results for sets where
first field size is not the largest.

Followup patch adds a test case to nft_concat_range.sh selftest script.

Thanks to Stefano Brivio for pointing out that we need to zero out
the remainder explicitly, only correcting memset() argument isn't enough.

The Linux kernel CVE team has assigned CVE-2024-57947 to this issue.


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

	Issue introduced in 5.6 with commit 3c4287f62044a90e73a561aa05fc46e62da173da and fixed in 5.15.165 with commit 957a4d1c4c5849e4515c9fb4db21bf85318103dc
	Issue introduced in 5.6 with commit 3c4287f62044a90e73a561aa05fc46e62da173da and fixed in 6.1.103 with commit 9625c46ce6fd4f922595a4b32b1de5066d70464f
	Issue introduced in 5.6 with commit 3c4287f62044a90e73a561aa05fc46e62da173da and fixed in 6.6.44 with commit 69b6a67f7052905e928d75a0c5871de50e686986
	Issue introduced in 5.6 with commit 3c4287f62044a90e73a561aa05fc46e62da173da and fixed in 6.10.3 with commit 8058c88ac0df21239daee54b5934d5c80ca9685f
	Issue introduced in 5.6 with commit 3c4287f62044a90e73a561aa05fc46e62da173da and fixed in 6.11 with commit 791a615b7ad2258c560f91852be54b0480837c93

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-2024-57947
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/netfilter/nft_set_pipapo.c
	net/netfilter/nft_set_pipapo.h
	net/netfilter/nft_set_pipapo_avx2.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/957a4d1c4c5849e4515c9fb4db21bf85318103dc
	https://git.kernel.org/stable/c/9625c46ce6fd4f922595a4b32b1de5066d70464f
	https://git.kernel.org/stable/c/69b6a67f7052905e928d75a0c5871de50e686986
	https://git.kernel.org/stable/c/8058c88ac0df21239daee54b5934d5c80ca9685f
	https://git.kernel.org/stable/c/791a615b7ad2258c560f91852be54b0480837c93

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ