cbcvebase.
CVE-2021-47103
published 2024-03-04

CVE-2021-47103: In the Linux kernel, the following vulnerability has been resolved: inet: fully convert sk->sk_rx_dst to RCU rules syzbot reported various issues around early…

PriorityP339high7.8CVSS 3.1
AVLACLPRLUINSUCHIHAH
EPSS
0.46%
37.3th percentile
In the Linux kernel, the following vulnerability has been resolved: inet: fully convert sk->sk_rx_dst to RCU rules syzbot reported various issues around early demux, one being included in this changelog [1] sk->sk_rx_dst is using RCU protection without clearly documenting it. And following sequences in tcp_v4_do_rcv()/tcp_v6_do_rcv() are not following standard RCU rules. [a] dst_release(dst); [b] sk->sk_rx_dst = NULL; They look wrong because a delete operation of RCU protected pointer is supposed to clear the pointer before the call_rcu()/synchronize_rcu() guarding actual memory freeing. In some cases indeed, dst could be freed before [b] is done. We could cheat by clearing sk_rx_dst before calling dst_release(), but this seems the right time to stick to standard RCU annotations and debugging facilities. [1] BUG: KASAN: use-after-free in dst_check include/net/dst.h:470 [inline] BUG: KASAN: use-after-free in tcp_v4_early_demux+0x95b/0x960 net/ipv4/tcp_ipv4.c:1792 Read of size 2 at addr ffff88807f1cb73a by task syz-executor.5/9204 CPU: 0 PID: 9204 Comm: syz-executor.5 Not tainted 5.16.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description.constprop.0.cold+0x8d/0x320 mm/kasan/report.c:247 __kasan_report mm/kasan/report.c:433 [inline] kasan_report.cold+0x83/0xdf mm/kasan/report.c:450 dst_check include/net/dst.h:470 [inline] tcp_v4_early_demux+0x95b/0x960 net/ipv4/tcp_ipv4.c:1792 ip_rcv_finish_core.constprop.0+0x15de/0x1e80 net/ipv4/ip_input.c:340 ip_list_rcv_finish.constprop.0+0x1b2/0x6e0 net/ipv4/ip_input.c:583 ip_sublist_rcv net/ipv4/ip_input.c:609 [inline] ip_list_rcv+0x34e/0x490 net/ipv4/ip_input.c:644 __netif_receive_skb_list_ptype net/core/dev.c:5508 [inline] __netif_receive_skb_list_core+0x549/0x8e0 net/core/dev.c:5556 __netif_receive_skb_list net/core/dev.c:5608 [inline] ne

Affected

21 ranges
VendorProductVersion rangeFixed in
debianlinux< linux 5.15.15-1 (bookworm)linux 5.15.15-1 (bookworm)
linuxlinux
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < 68c34ce11ef23328692aa35fa6aaafdd7591310068c34ce11ef23328692aa35fa6aaafdd75913100
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < 92e6e36ecd16808866ac6172b9491b5097cde44992e6e36ecd16808866ac6172b9491b5097cde449
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < 75a578000ae5e511e5d0e8433c94a14d9c99c41275a578000ae5e511e5d0e8433c94a14d9c99c412
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < c3bb4a7e8cbc984e1cdac0fe6af60e880214ed6ec3bb4a7e8cbc984e1cdac0fe6af60e880214ed6e
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < f039b43cbaea5e0700980c2f0052da05a70782e0f039b43cbaea5e0700980c2f0052da05a70782e0
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < 0249a4b8a554f2eb6a27b62516fa50168584faa40249a4b8a554f2eb6a27b62516fa50168584faa4
linuxlinux>= 41063e9dd11956f2d285e12e4342e1d232ba0ea2 < 8f905c0e7354ef261360fb7535ea079b1082c1058f905c0e7354ef261360fb7535ea079b1082c105
linuxlinux_kernel
linuxlinux_kernel>= 0 < 5.10.158-15.10.158-1
linuxlinux_kernel>= 0 < 5.15.15-15.15.15-1
linuxlinux_kernel>= 0 < 5.15.15-15.15.15-1
linuxlinux_kernel>= 0 < 5.15.15-15.15.15-1
linuxlinux_kernel>= 0 < 4.4.0-266.3004.4.0-266.300
linuxlinux_kernel>= 3.6 < 4.9.3314.9.331
linuxlinux_kernel>= 4.10 < 4.14.2964.14.296
linuxlinux_kernel>= 4.15 < 4.19.2624.19.262
linuxlinux_kernel>= 4.20 < 5.4.2205.4.220
linuxlinux_kernel>= 5.11 < 5.15.125.15.12
linuxlinux_kernel>= 5.5 < 5.10.1505.10.150

CVSS provenance

nvdv3.17.8HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
osv7.8HIGH
vendor_debian7.8HIGH
vendor_redhat7.8HIGH
vendor_ubuntu7.8HIGH
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.