blob: 06812fb76cfd7dea8b670f7d0ecf68c6101ac006 [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-2023-52509: ravb: Fix use-after-free issue in ravb_tx_timeout_work()
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
ravb: Fix use-after-free issue in ravb_tx_timeout_work()
The ravb_stop() should call cancel_work_sync(). Otherwise,
ravb_tx_timeout_work() is possible to use the freed priv after
ravb_remove() was called like below:
CPU0 CPU1
ravb_tx_timeout()
ravb_remove()
unregister_netdev()
free_netdev(ndev)
// free priv
ravb_tx_timeout_work()
// use priv
unregister_netdev() will call .ndo_stop() so that ravb_stop() is
called. And, after phy_stop() is called, netif_carrier_off()
is also called. So that .ndo_tx_timeout() will not be called
after phy_stop().
The Linux kernel CVE team has assigned CVE-2023-52509 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.2 with commit c156633f1353264634135dea86ffcae74f2122fc and fixed in 5.4.259 with commit 65d34cfd4e347054eb4193bc95d9da7eaa72dee5
Issue introduced in 4.2 with commit c156633f1353264634135dea86ffcae74f2122fc and fixed in 5.10.199 with commit db9aafa19547833240f58c2998aed7baf414dc82
Issue introduced in 4.2 with commit c156633f1353264634135dea86ffcae74f2122fc and fixed in 5.15.136 with commit 616761cf9df9af838c0a1a1232a69322a9eb67e6
Issue introduced in 4.2 with commit c156633f1353264634135dea86ffcae74f2122fc and fixed in 6.1.59 with commit 6f6fa8061f756aedb93af12a8a5d3cf659127965
Issue introduced in 4.2 with commit c156633f1353264634135dea86ffcae74f2122fc and fixed in 6.5.8 with commit 105abd68ad8f781985113aee2e92e0702b133705
Issue introduced in 4.2 with commit c156633f1353264634135dea86ffcae74f2122fc and fixed in 6.6 with commit 3971442870713de527684398416970cf025b4f89
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-52509
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/ethernet/renesas/ravb_main.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/65d34cfd4e347054eb4193bc95d9da7eaa72dee5
https://git.kernel.org/stable/c/db9aafa19547833240f58c2998aed7baf414dc82
https://git.kernel.org/stable/c/616761cf9df9af838c0a1a1232a69322a9eb67e6
https://git.kernel.org/stable/c/6f6fa8061f756aedb93af12a8a5d3cf659127965
https://git.kernel.org/stable/c/105abd68ad8f781985113aee2e92e0702b133705
https://git.kernel.org/stable/c/3971442870713de527684398416970cf025b4f89