CVE-2021-47394CWE-416

CVE-2021-47394

High · published May 21, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
13.6
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nf_tables: unlink table before deleting it

syzbot reports following UAF:

BUG: KASAN: use-after-free in memcmp+0x18f/0x1c0 lib/string.c:955

nla_strcmp+0xf2/0x130 lib/nlattr.c:836

nft_table_lookup.part.0+0x1a2/0x460 net/netfilter/nf_tables_api.c:570

nft_table_lookup net/netfilter/nf_tables_api.c:4064 [inline]

nf_tables_getset+0x1b3/0x860 net/netfilter/nf_tables_api.c:4064

nfnetlink_rcv_msg+0x659/0x13f0 net/netfilter/nfnetlink.c:285

netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2504

Problem is that all get operations are lockless, so the commit_mutex

held by nft_rcv_nl_event() isn't enough to stop a parallel GET request

from doing read-accesses to the table object even after synchronize_rcu().

To avoid this, unlink the table first and store the table objects in

on-stack scratch space.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00235 · 13.6th percentile
Weakness
CWE-416 · Use After Free
Published
2024-05-21T19:15Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel≥ 5.12, < 5.14.105.14.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 21 MAY 15:03Z
    netfilter: nf_tables: unlink table before deleting it
    cvelistv5