blob: 4e17ae8e90a6bd8f21c1374ca588eb7f04648a85 [file] [log] [blame]
From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2024-58072: wifi: rtlwifi: remove unused check_buddy_priv
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
wifi: rtlwifi: remove unused check_buddy_priv
Commit 2461c7d60f9f ("rtlwifi: Update header file") introduced a global
list of private data structures.
Later on, commit 26634c4b1868 ("rtlwifi Modify existing bits to match
vendor version 2013.02.07") started adding the private data to that list at
probe time and added a hook, check_buddy_priv to find the private data from
a similar device.
However, that function was never used.
Besides, though there is a lock for that list, it is never used. And when
the probe fails, the private data is never removed from the list. This
would cause a second probe to access freed memory.
Remove the unused hook, structures and members, which will prevent the
potential race condition on the list and its corruption during a second
probe when probe fails.
The Linux kernel CVE team has assigned CVE-2024-58072 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 5.4.291 with commit f801e754efa21bd61b3cc15ec7565696165b272f
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 5.10.235 with commit 1b9cbd8a9ae68b32099fbb03b2d5ffa0c5e0dcc9
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 5.15.179 with commit 8e2fcc68fbaab3ad9f5671fee2be0956134b740a
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 6.1.129 with commit 1e39b0486cdb496cdfba3bc89886150e46acf6f4
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 6.6.76 with commit 465d01ef6962b82b1f0ad1f3e58b398dbd35c1c1
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 6.12.13 with commit 543e3e9f2e9e47ded774c74e680f28a0ca362aee
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 6.13.2 with commit 006e803af7408c3fc815b0654fc5ab43d34f0154
Issue introduced in 3.10 with commit 26634c4b1868323f49f8cd24c3493b57819867fd and fixed in 6.14 with commit 2fdac64c3c35858aa8ac5caa70b232e03456e120
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-58072
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/net/wireless/realtek/rtlwifi/base.c
drivers/net/wireless/realtek/rtlwifi/base.h
drivers/net/wireless/realtek/rtlwifi/pci.c
drivers/net/wireless/realtek/rtlwifi/wifi.h
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/f801e754efa21bd61b3cc15ec7565696165b272f
https://git.kernel.org/stable/c/1b9cbd8a9ae68b32099fbb03b2d5ffa0c5e0dcc9
https://git.kernel.org/stable/c/8e2fcc68fbaab3ad9f5671fee2be0956134b740a
https://git.kernel.org/stable/c/1e39b0486cdb496cdfba3bc89886150e46acf6f4
https://git.kernel.org/stable/c/465d01ef6962b82b1f0ad1f3e58b398dbd35c1c1
https://git.kernel.org/stable/c/543e3e9f2e9e47ded774c74e680f28a0ca362aee
https://git.kernel.org/stable/c/006e803af7408c3fc815b0654fc5ab43d34f0154
https://git.kernel.org/stable/c/2fdac64c3c35858aa8ac5caa70b232e03456e120