CVE-2023-52637
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
03/04/2024
Last modified:
07/01/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)<br />
<br />
Lock jsk->sk to prevent UAF when setsockopt(..., SO_J1939_FILTER, ...)<br />
modifies jsk->filters while receiving packets.<br />
<br />
Following trace was seen on affected system:<br />
==================================================================<br />
BUG: KASAN: slab-use-after-free in j1939_sk_recv_match_one+0x1af/0x2d0 [can_j1939]<br />
Read of size 4 at addr ffff888012144014 by task j1939/350<br />
<br />
CPU: 0 PID: 350 Comm: j1939 Tainted: G W OE 6.5.0-rc5 #1<br />
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014<br />
Call Trace:<br />
print_report+0xd3/0x620<br />
? kasan_complete_mode_report_info+0x7d/0x200<br />
? j1939_sk_recv_match_one+0x1af/0x2d0 [can_j1939]<br />
kasan_report+0xc2/0x100<br />
? j1939_sk_recv_match_one+0x1af/0x2d0 [can_j1939]<br />
__asan_load4+0x84/0xb0<br />
j1939_sk_recv_match_one+0x1af/0x2d0 [can_j1939]<br />
j1939_sk_recv+0x20b/0x320 [can_j1939]<br />
? __kasan_check_write+0x18/0x20<br />
? __pfx_j1939_sk_recv+0x10/0x10 [can_j1939]<br />
? j1939_simple_recv+0x69/0x280 [can_j1939]<br />
? j1939_ac_recv+0x5e/0x310 [can_j1939]<br />
j1939_can_recv+0x43f/0x580 [can_j1939]<br />
? __pfx_j1939_can_recv+0x10/0x10 [can_j1939]<br />
? raw_rcv+0x42/0x3c0 [can_raw]<br />
? __pfx_j1939_can_recv+0x10/0x10 [can_j1939]<br />
can_rcv_filter+0x11f/0x350 [can]<br />
can_receive+0x12f/0x190 [can]<br />
? __pfx_can_rcv+0x10/0x10 [can]<br />
can_rcv+0xdd/0x130 [can]<br />
? __pfx_can_rcv+0x10/0x10 [can]<br />
__netif_receive_skb_one_core+0x13d/0x150<br />
? __pfx___netif_receive_skb_one_core+0x10/0x10<br />
? __kasan_check_write+0x18/0x20<br />
? _raw_spin_lock_irq+0x8c/0xe0<br />
__netif_receive_skb+0x23/0xb0<br />
process_backlog+0x107/0x260<br />
__napi_poll+0x69/0x310<br />
net_rx_action+0x2a1/0x580<br />
? __pfx_net_rx_action+0x10/0x10<br />
? __pfx__raw_spin_lock+0x10/0x10<br />
? handle_irq_event+0x7d/0xa0<br />
__do_softirq+0xf3/0x3f8<br />
do_softirq+0x53/0x80<br />
<br />
<br />
__local_bh_enable_ip+0x6e/0x70<br />
netif_rx+0x16b/0x180<br />
can_send+0x32b/0x520 [can]<br />
? __pfx_can_send+0x10/0x10 [can]<br />
? __check_object_size+0x299/0x410<br />
raw_sendmsg+0x572/0x6d0 [can_raw]<br />
? __pfx_raw_sendmsg+0x10/0x10 [can_raw]<br />
? apparmor_socket_sendmsg+0x2f/0x40<br />
? __pfx_raw_sendmsg+0x10/0x10 [can_raw]<br />
sock_sendmsg+0xef/0x100<br />
sock_write_iter+0x162/0x220<br />
? __pfx_sock_write_iter+0x10/0x10<br />
? __rtnl_unlock+0x47/0x80<br />
? security_file_permission+0x54/0x320<br />
vfs_write+0x6ba/0x750<br />
? __pfx_vfs_write+0x10/0x10<br />
? __fget_light+0x1ca/0x1f0<br />
? __rcu_read_unlock+0x5b/0x280<br />
ksys_write+0x143/0x170<br />
? __pfx_ksys_write+0x10/0x10<br />
? __kasan_check_read+0x15/0x20<br />
? fpregs_assert_state_consistent+0x62/0x70<br />
__x64_sys_write+0x47/0x60<br />
do_syscall_64+0x60/0x90<br />
? do_syscall_64+0x6d/0x90<br />
? irqentry_exit+0x3f/0x50<br />
? exc_page_fault+0x79/0xf0<br />
entry_SYSCALL_64_after_hwframe+0x6e/0xd8<br />
<br />
Allocated by task 348:<br />
kasan_save_stack+0x2a/0x50<br />
kasan_set_track+0x29/0x40<br />
kasan_save_alloc_info+0x1f/0x30<br />
__kasan_kmalloc+0xb5/0xc0<br />
__kmalloc_node_track_caller+0x67/0x160<br />
j1939_sk_setsockopt+0x284/0x450 [can_j1939]<br />
__sys_setsockopt+0x15c/0x2f0<br />
__x64_sys_setsockopt+0x6b/0x80<br />
do_syscall_64+0x60/0x90<br />
entry_SYSCALL_64_after_hwframe+0x6e/0xd8<br />
<br />
Freed by task 349:<br />
kasan_save_stack+0x2a/0x50<br />
kasan_set_track+0x29/0x40<br />
kasan_save_free_info+0x2f/0x50<br />
__kasan_slab_free+0x12e/0x1c0<br />
__kmem_cache_free+0x1b9/0x380<br />
kfree+0x7a/0x120<br />
j1939_sk_setsockopt+0x3b2/0x450 [can_j1939]<br />
__sys_setsockopt+0x15c/0x2f0<br />
__x64_sys_setsockopt+0x6b/0x80<br />
do_syscall_64+0x60/0x90<br />
entry_SYSCALL_64_after_hwframe+0x6e/0xd8
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4 (including) | 5.4.269 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.210 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.149 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.79 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.7.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/08de58abedf6e69396e1207e4f99ef8904b2b532
- https://git.kernel.org/stable/c/41ccb5bcbf03f02d820bc6ea8390811859f558f8
- https://git.kernel.org/stable/c/4dd684d4bb3cd5454e0bf6e2a1bdfbd5c9c872ed
- https://git.kernel.org/stable/c/978e50ef8c38dc71bd14d1b0143d554ff5d188ba
- https://git.kernel.org/stable/c/efe7cf828039aedb297c1f9920b638fffee6aabc
- https://git.kernel.org/stable/c/f84e7534457dcd7835be743517c35378bb4e7c50
- https://git.kernel.org/stable/c/fc74b9cb789cae061bbca7b203a3842e059f6b5d
- https://git.kernel.org/stable/c/08de58abedf6e69396e1207e4f99ef8904b2b532
- https://git.kernel.org/stable/c/41ccb5bcbf03f02d820bc6ea8390811859f558f8
- https://git.kernel.org/stable/c/4dd684d4bb3cd5454e0bf6e2a1bdfbd5c9c872ed
- https://git.kernel.org/stable/c/978e50ef8c38dc71bd14d1b0143d554ff5d188ba
- https://git.kernel.org/stable/c/efe7cf828039aedb297c1f9920b638fffee6aabc
- https://git.kernel.org/stable/c/f84e7534457dcd7835be743517c35378bb4e7c50
- https://git.kernel.org/stable/c/fc74b9cb789cae061bbca7b203a3842e059f6b5d
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html



