[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025012147-CVE-2024-57932-a9f5@gregkh>
Date: Tue, 21 Jan 2025 13:01: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-2024-57932: gve: guard XDP xmit NDO on existence of xdp queues
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
gve: guard XDP xmit NDO on existence of xdp queues
In GVE, dedicated XDP queues only exist when an XDP program is installed
and the interface is up. As such, the NDO XDP XMIT callback should
return early if either of these conditions are false.
In the case of no loaded XDP program, priv->num_xdp_queues=0 which can
cause a divide-by-zero error, and in the case of interface down,
num_xdp_queues remains untouched to persist XDP queue count for the next
interface up, but the TX pointer itself would be NULL.
The XDP xmit callback also needs to synchronize with a device
transitioning from open to close. This synchronization will happen via
the GVE_PRIV_FLAGS_NAPI_ENABLED bit along with a synchronize_net() call,
which waits for any RCU critical sections at call-time to complete.
The Linux kernel CVE team has assigned CVE-2024-57932 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.4 with commit 39a7f4aa3e4a7947614cf1d5c27abba3300adb1e and fixed in 6.6.70 with commit cbe9eb2c39d09f3c8574febcfa39d8c09d0c7cb5
Issue introduced in 6.4 with commit 39a7f4aa3e4a7947614cf1d5c27abba3300adb1e and fixed in 6.12.9 with commit 35f44eed5828cf1bc7e760d1993ed8549ba41c7b
Issue introduced in 6.4 with commit 39a7f4aa3e4a7947614cf1d5c27abba3300adb1e and fixed in 6.13 with commit ff7c2dea9dd1a436fc79d6273adffdcc4a7ffea3
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-57932
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/google/gve/gve_main.c
drivers/net/ethernet/google/gve/gve_tx.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/cbe9eb2c39d09f3c8574febcfa39d8c09d0c7cb5
https://git.kernel.org/stable/c/35f44eed5828cf1bc7e760d1993ed8549ba41c7b
https://git.kernel.org/stable/c/ff7c2dea9dd1a436fc79d6273adffdcc4a7ffea3
Powered by blists - more mailing lists