[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024122730-CVE-2024-53212-495a@gregkh>
Date: Fri, 27 Dec 2024 14:52:58 +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-53212: netlink: fix false positive warning in extack during dumps
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
netlink: fix false positive warning in extack during dumps
Commit under fixes extended extack reporting to dumps.
It works under normal conditions, because extack errors are
usually reported during ->start() or the first ->dump(),
it's quite rare that the dump starts okay but fails later.
If the dump does fail later, however, the input skb will
already have the initiating message pulled, so checking
if bad attr falls within skb->data will fail.
Switch the check to using nlh, which is always valid.
syzbot found a way to hit that scenario by filling up
the receive queue. In this case we initiate a dump
but don't call ->dump() until there is read space for
an skb.
WARNING: CPU: 1 PID: 5845 at net/netlink/af_netlink.c:2210 netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209
RIP: 0010:netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209
Call Trace:
<TASK>
netlink_dump_done+0x513/0x970 net/netlink/af_netlink.c:2250
netlink_dump+0x91f/0xe10 net/netlink/af_netlink.c:2351
netlink_recvmsg+0x6bb/0x11d0 net/netlink/af_netlink.c:1983
sock_recvmsg_nosec net/socket.c:1051 [inline]
sock_recvmsg+0x22f/0x280 net/socket.c:1073
__sys_recvfrom+0x246/0x3d0 net/socket.c:2267
__do_sys_recvfrom net/socket.c:2285 [inline]
__se_sys_recvfrom net/socket.c:2281 [inline]
__x64_sys_recvfrom+0xde/0x100 net/socket.c:2281
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff37dd17a79
The Linux kernel CVE team has assigned CVE-2024-53212 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.10 with commit 8af4f60472fce1f22db5068107b37bcc1a65eabd and fixed in 6.11.11 with commit 6406d0ce0414b807af5d2a4b781c3f3ee52b8a4d
Issue introduced in 6.10 with commit 8af4f60472fce1f22db5068107b37bcc1a65eabd and fixed in 6.12.2 with commit 28af028a71371df5fcbf807fd4444bba8d0c33cc
Issue introduced in 6.10 with commit 8af4f60472fce1f22db5068107b37bcc1a65eabd and fixed in 6.13-rc1 with commit 3bf39fa849ab8ed52abb6715922e6102d3df9f97
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-53212
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/netlink/af_netlink.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/6406d0ce0414b807af5d2a4b781c3f3ee52b8a4d
https://git.kernel.org/stable/c/28af028a71371df5fcbf807fd4444bba8d0c33cc
https://git.kernel.org/stable/c/3bf39fa849ab8ed52abb6715922e6102d3df9f97
Powered by blists - more mailing lists