Re: CVE-2021-47115: nfc: fix NULL ptr dereference in llcp_sock_getname() after failed connect
From: Lee Jones
Date: Mon Mar 18 2024 - 06:35:53 EST
On Mon, 18 Mar 2024, Robert Frohl wrote:
> Hi all,
>
> CVE-2021-47115 looks like a duplicate of CVE-2021-38208 [0].
CVE-2021-47115 now rejected, thank you for the report Robert.
https://lore.kernel.org/all/20240318103331.2845054-2-lee@xxxxxxxxxx/
> Cheers,
> Robert
>
> [0] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-38208
>
>
> On 15.03.24 21:15, Greg Kroah-Hartman wrote:
> > Description
> > ===========
> >
> > In the Linux kernel, the following vulnerability has been resolved:
> >
> > nfc: fix NULL ptr dereference in llcp_sock_getname() after failed connect
> >
> > It's possible to trigger NULL pointer dereference by local unprivileged
> > user, when calling getsockname() after failed bind() (e.g. the bind
> > fails because LLCP_SAP_MAX used as SAP):
> >
> > BUG: kernel NULL pointer dereference, address: 0000000000000000
> > CPU: 1 PID: 426 Comm: llcp_sock_getna Not tainted 5.13.0-rc2-next-20210521+ #9
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-1 04/01/2014
> > Call Trace:
> > llcp_sock_getname+0xb1/0xe0
> > __sys_getpeername+0x95/0xc0
> > ? lockdep_hardirqs_on_prepare+0xd5/0x180
> > ? syscall_enter_from_user_mode+0x1c/0x40
> > __x64_sys_getpeername+0x11/0x20
> > do_syscall_64+0x36/0x70
> > entry_SYSCALL_64_after_hwframe+0x44/0xae
> >
> > This can be reproduced with Syzkaller C repro (bind followed by
> > getpeername):
> > https://syzkaller.appspot.com/x/repro.c?x=14def446e00000
> >
> > The Linux kernel CVE team has assigned CVE-2021-47115 to this issue.
> >
> >
> > Affected and fixed versions
> > ===========================
> >
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 4.4.272 with commit eb6875d48590
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 4.9.272 with commit 39c15bd2e5d1
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 4.14.236 with commit ffff05b9ee5c
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 4.19.194 with commit 93e4ac2a9979
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 5.4.125 with commit 5d4c4b06ed9f
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 5.10.43 with commit 48ee0db61c82
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 5.12.10 with commit 0c4559736d9a
> > Issue introduced in 3.3 with commit d646960f7986 and fixed in 5.13 with commit 4ac06a1e013c
> >
> > Please see https://www.kernel.org or 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-2021-47115
> > 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/nfc/llcp_sock.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/eb6875d48590d8e564092e831ff07fa384d7e477
> > https://git.kernel.org/stable/c/39c15bd2e5d11bcf7f4c3dba2aad9e1e110a5d94
> > https://git.kernel.org/stable/c/ffff05b9ee5c74c04bba2801c1f99b31975d74d9
> > https://git.kernel.org/stable/c/93e4ac2a9979a9a4ecc158409ed9c3044dc0ae1f
> > https://git.kernel.org/stable/c/5d4c4b06ed9fb7a69d0b2e2a73fc73226d25ab70
> > https://git.kernel.org/stable/c/48ee0db61c8299022ec88c79ad137f290196cac2
> > https://git.kernel.org/stable/c/0c4559736d9a4ec1ca58ba98ca34e7c4da4c422b
> > https://git.kernel.org/stable/c/4ac06a1e013cf5fdd963317ffd3b968560f33bba
> >
>
> --
> Security Engineer, SUSE Software Solutions Germany GmbH, Frankenstraße 146,
> 90461 Nürnberg, Germany, GF: Ivo Totev, Andrew McDonald, Werner Knoblich
> (HRB 36809, AG Nürnberg)
> GPG: D29F 82AA 9FD5 9D6E 74B1 6370 089E DB3D 230A 2404
--
Lee Jones [李琼斯]