CVE-2023-52574

Updated on 02 Mar 2024

Severity

5.5 Medium severity

Details

CVSS score
5.5
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Overview

About vulnerability

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

team: fix null-ptr-deref when team device type is changed

Get a null-ptr-deref bug as follows with reproducer [1].

BUG: kernel NULL pointer dereference, address: 0000000000000228 … RIP: 0010:vlan_dev_hard_header+0x35/0x140 [8021q] … Call Trace: <TASK> ? __die+0x24/0x70 ? page_fault_oops+0x82/0x150 ? exc_page_fault+0x69/0x150 ? asm_exc_page_fault+0x26/0x30 ? vlan_dev_hard_header+0x35/0x140 [8021q] ? vlan_dev_hard_header+0x8e/0x140 [8021q] neigh_connected_output+0xb2/0x100 ip6_finish_output2+0x1cb/0x520 ? nf_hook_slow+0x43/0xc0 ? ip6_mtu+0x46/0x80 ip6_finish_output+0x2a/0xb0 mld_sendpack+0x18f/0x250 mld_ifc_work+0x39/0x160 process_one_work+0x1e6/0x3f0 worker_thread+0x4d/0x2f0 ? __pfx_worker_thread+0x10/0x10 kthread+0xe5/0x120 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30

[1] $ teamd -t team0 -d -c ‘{“runner”: {“name”: “loadbalance”}}’ $ ip link add name t-dummy type dummy $ ip link add link t-dummy name t-dummy.100 type vlan id 100 $ ip link add name t-nlmon type nlmon $ ip link set t-nlmon master team0 $ ip link set t-nlmon nomaster $ ip link set t-dummy up $ ip link set team0 up $ ip link set t-dummy.100 down $ ip link set t-dummy.100 master team0

When enslave a vlan device to team device and team device type is changed from non-ether to ether, header_ops of team device is changed to vlan_header_ops. That is incorrect and will trigger null-ptr-deref for vlan->real_dev in vlan_dev_hard_header() because team device is not a vlan device.

Cache eth_header_ops in team_setup(), then assign cached header_ops to header_ops of team net device when its type is changed from non-ether to ether to fix the bug.

Details

Fixes

KernelCare state

Live-patch status from KernelCare for each operating system.

Operating system Status Covered kernels
AlmaLinux 8 Released
40 kernels
  • 4.18.0-240.15.1.el8_3
  • 4.18.0-240.22.1.el8_3
  • 4.18.0-240.el8
  • 4.18.0-305.10.2.el8_4
  • 4.18.0-305.12.1.el8_4
  • 4.18.0-305.17.1.el8_4
  • 4.18.0-305.19.1.el8_4
  • 4.18.0-305.25.1.el8_4
  • 4.18.0-305.3.1.el8_4
  • 4.18.0-305.7.1.el8_4
  • 4.18.0-305.el8
  • 4.18.0-348.12.2.el8_5
  • 4.18.0-348.2.1.el8_5
  • 4.18.0-348.20.1.el8.fscrypt
  • 4.18.0-348.20.1.el8_5
  • 4.18.0-348.23.1.el8_5
  • 4.18.0-348.7.1.el8_5
  • 4.18.0-348.el8
  • 4.18.0-372.13.1.el8_6
  • 4.18.0-372.16.1.el8_6
  • 4.18.0-372.19.1.el8_6
  • 4.18.0-372.26.1.el8_6
  • 4.18.0-372.32.1.el8_6
  • 4.18.0-372.9.1.el8
  • 4.18.0-425.10.1.el8_7
  • 4.18.0-425.13.1.el8_7
  • 4.18.0-425.19.2.el8_7
  • 4.18.0-425.3.1.el8
  • 4.18.0-477.10.1.el8_8
  • 4.18.0-477.13.1.el8_8
  • 4.18.0-477.15.1.el8_8
  • 4.18.0-477.21.1.el8_8
  • 4.18.0-477.27.1.el8_8
  • 4.18.0-477.27.2.el8_8
  • 4.18.0-513.11.1.el8_9
  • 4.18.0-513.18.1.el8_9
  • 4.18.0-513.18.2.el8_9
  • 4.18.0-513.24.1.el8_9
  • 4.18.0-513.5.1.el8_9
  • 4.18.0-513.9.1.el8_9
AlmaLinux 9 Released
19 kernels
  • 5.14.0-162.12.1.el9_1
  • 5.14.0-162.18.1.el9_1
  • 5.14.0-162.22.2.el9_1
  • 5.14.0-162.23.1.el9_1
  • 5.14.0-162.6.1.el9_1
  • 5.14.0-284.11.1.el9_2
  • 5.14.0-284.18.1.el9_2
  • 5.14.0-284.25.1.el9_2
  • 5.14.0-284.30.1.el9_2
  • 5.14.0-362.13.1.el9_3
  • 5.14.0-362.18.1.el9_3
  • 5.14.0-362.24.1.el9_3
  • 5.14.0-362.24.2.el9_3
  • 5.14.0-362.8.1.el9_3
  • 5.14.0-70.13.1.el9_0
  • 5.14.0-70.17.1.el9_0
  • 5.14.0-70.22.1.el9_0
  • 5.14.0-70.26.1.el9_0
  • 5.14.0-70.30.1.el9_0
AlmaLinux 9.2 ESU Ready For Release
Amazon Linux 2 Planned
Amazon Linux 2023 Planned
Amazon Linux 2 5.10 Will Not Fix
CentOS 8 Released
33 kernels
  • 4.18.0-80.1.2.el8_0
  • 4.18.0-80.11.1.el8_0
  • 4.18.0-80.11.2.el8_0
  • 4.18.0-80.4.2.el8_0
  • 4.18.0-80.7.1.el8_0
  • 4.18.0-80.7.2.el8_0
  • 4.18.0-80.el8
  • 4.18.0-147.0.3.el8_1
  • 4.18.0-147.3.1.el8_1
  • 4.18.0-147.5.1.el8_1
  • 4.18.0-147.8.1.el8_1
  • 4.18.0-147.el8
  • 4.18.0-193.1.2.el8_2
  • 4.18.0-193.14.2.el8_2
  • 4.18.0-193.19.1.el8_2
  • 4.18.0-193.28.1.el8_2
  • 4.18.0-193.6.3.el8_2
  • 4.18.0-193.el8
  • 4.18.0-240.1.1.el8_3
  • 4.18.0-240.10.1.el8_3
  • 4.18.0-240.15.1.el8_3
  • 4.18.0-240.22.1.el8_3
  • 4.18.0-240.el8
  • 4.18.0-305.10.2.el8_4
  • 4.18.0-305.12.1.el8_4
  • 4.18.0-305.17.1.el8_4
  • 4.18.0-305.19.1.el8_4
  • 4.18.0-305.25.1.el8_4
  • 4.18.0-305.3.1.el8
  • 4.18.0-305.7.1.el8_4
  • 4.18.0-348.2.1.el8_5
  • 4.18.0-348.7.1.el8_5
  • 4.18.0-348.el8
CloudLinux OS 7h Released
54 kernels
  • 4.18.0-147.0.3.el7h.lve
  • 4.18.0-147.0.3.el7h
  • 4.18.0-147.3.1.el7h.lve.1
  • 4.18.0-147.8.1.el7h.lve.1
  • 4.18.0-147.8.1.el7h.lve
  • 4.18.0-193.28.1.lve1.el7h
  • 4.18.0-305.10.2.2.lve.el7h
  • 4.18.0-305.10.2.lve.el7h
  • 4.18.0-305.12.1.lve.el7h
  • 4.18.0-305.17.1.lve.el7h
  • 4.18.0-305.19.1.lve.el7h
  • 4.18.0-305.7.1.lve.el7h
  • 4.18.0-305.lve.el7h
  • 4.18.0-348.12.2.lve.1.el7h
  • 4.18.0-348.12.2.lve.2.el7h
  • 4.18.0-348.12.2.lve.el7h
  • 4.18.0-348.20.1.lve.1.el7h
  • 4.18.0-348.20.1.lve.el7h
  • 4.18.0-348.23.1.lve.el7h
  • 4.18.0-348.7.1.lve.el7h
  • 4.18.0-348.lve.el7h
  • 4.18.0-372.13.1.lve.el7h
  • 4.18.0-372.16.1.lve.el7h
  • 4.18.0-372.19.1.lve.el7h
  • 4.18.0-372.26.1.lve.1.el7h
  • 4.18.0-372.32.1.lve.el7h
  • 4.18.0-372.9.1.lve.el7h
  • 4.18.0-425.10.1.lve.el7h
  • 4.18.0-425.13.1.lve.el7h
  • 4.18.0-425.19.2.lve.el7h
  • 4.18.0-425.3.1.lve.1.el7h
  • 4.18.0-425.3.1.lve.2.el7h
  • 4.18.0-425.3.1.lve.3.el7h
  • 4.18.0-425.3.1.lve.el7h
  • 4.18.0-477.10.1.lve.1.el7h
  • 4.18.0-477.13.1.lve.1.el7h
  • 4.18.0-477.13.1.lve.el7h
  • 4.18.0-477.15.1.lve.1.el7h
  • 4.18.0-477.15.1.lve.2.el7h
  • 4.18.0-477.21.1.lve.1.el7h
  • 4.18.0-477.21.1.lve.el7h
  • 4.18.0-477.27.1.lve.el7h
  • 4.18.0-477.27.2.lve.el7h
  • 4.18.0-513.11.1.lve.1.el7h
  • 4.18.0-513.11.1.lve.el7h
  • 4.18.0-513.18.1.lve.1.el7h
  • 4.18.0-513.18.1.lve.2.el7h
  • 4.18.0-513.18.1.lve.el7h
  • 4.18.0-513.24.1.lve.1.el7h
  • 4.18.0-513.24.1.lve.2.el7h
  • 4.18.0-513.24.1.lve.el7h
  • 4.18.0-513.5.1.lve.el7h
  • 4.18.0-513.9.1.lve.el7h
  • 4.18.0-80.7.2.el7h
CloudLinux OS 8 Released
49 kernels
  • 4.18.0-147.0.3.lve.el8
  • 4.18.0-147.3.1.el8.lve.1
  • 4.18.0-147.8.1.el8.lve.1
  • 4.18.0-147.8.1.el8.lve
  • 4.18.0-193.28.1.lve1.el8
  • 4.18.0-305.10.2.2.lve.el8
  • 4.18.0-305.10.2.lve.el8
  • 4.18.0-305.12.1.lve.el8
  • 4.18.0-305.17.1.lve.el8
  • 4.18.0-305.19.1.lve.el8
  • 4.18.0-305.7.1.lve.el8
  • 4.18.0-305.lve.el8
  • 4.18.0-348.12.2.lve.el8
  • 4.18.0-348.20.1.lve.1.el8
  • 4.18.0-348.20.1.lve.el8
  • 4.18.0-348.23.1.lve.el8
  • 4.18.0-348.7.1.lve.el8
  • 4.18.0-348.lve.el8
  • 4.18.0-372.13.1.lve.el8
  • 4.18.0-372.16.1.lve.el8
  • 4.18.0-372.19.1.lve.el8
  • 4.18.0-372.26.1.lve.1.el8
  • 4.18.0-372.32.1.lve.el8
  • 4.18.0-372.9.1.1.lve.el8
  • 4.18.0-372.9.1.lve.el8
  • 4.18.0-425.10.1.lve.el8
  • 4.18.0-425.13.1.lve.el8
  • 4.18.0-425.19.2.lve.el8
  • 4.18.0-425.3.1.lve.1.el8
  • 4.18.0-425.3.1.lve.2.el8
  • 4.18.0-425.3.1.lve.3.el8
  • 4.18.0-425.3.1.lve.el8
  • 4.18.0-477.10.1.lve.el8
  • 4.18.0-477.13.1.lve.1.el8
  • 4.18.0-477.13.1.lve.el8
  • 4.18.0-477.15.1.lve.2.el8
  • 4.18.0-477.21.1.lve.1.el8
  • 4.18.0-477.21.1.lve.el8
  • 4.18.0-477.27.1.lve.el8
  • 4.18.0-477.27.2.lve.el8
  • 4.18.0-513.11.1.lve.el8
  • 4.18.0-513.18.1.lve.1.el8
  • 4.18.0-513.18.1.lve.2.el8
  • 4.18.0-513.18.1.lve.el8
  • 4.18.0-513.24.1.lve.1.el8
  • 4.18.0-513.24.1.lve.el8
  • 4.18.0-513.5.1.lve.el8
  • 4.18.0-513.9.1.lve.el8
  • 4.18.0-513.24.1.lve.2.el8
Debian 10 Planned
Oracle Linux 6 UEK 4 Planned
Oracle Linux 7 UEK 4 Planned
Oracle Linux 8 Released
64 kernels
  • 4.18.0-147.0.2.el8_1
  • 4.18.0-147.0.3.el8_1
  • 4.18.0-147.3.1.el8_1
  • 4.18.0-147.5.1.el8_1
  • 4.18.0-147.8.1.el8_1
  • 4.18.0-147.el8
  • 4.18.0-193.1.2.el8_2
  • 4.18.0-193.13.2.el8_2
  • 4.18.0-193.14.3.el8_2
  • 4.18.0-193.19.1.el8_2
  • 4.18.0-193.28.1.el8_2
  • 4.18.0-193.6.3.el8_2
  • 4.18.0-193.el8
  • 4.18.0-240.1.1.el8_3
  • 4.18.0-240.10.1.el8_3
  • 4.18.0-240.15.1.el8_3
  • 4.18.0-240.22.1.el8_3
  • 4.18.0-240.8.1.el8_3
  • 4.18.0-240.el8
  • 4.18.0-305.10.2.el8_4
  • 4.18.0-305.12.1.el8_4
  • 4.18.0-305.17.1.el8_4
  • 4.18.0-305.19.1.el8_4
  • 4.18.0-305.25.1.el8_4
  • 4.18.0-305.3.1.el8_4
  • 4.18.0-305.7.1.el8_4
  • 4.18.0-305.el8
  • 4.18.0-348.12.2.el8_5
  • 4.18.0-348.2.1.el8_5
  • 4.18.0-348.20.1.el8_5
  • 4.18.0-348.23.1.el8_5
  • 4.18.0-348.7.1.el8_5
  • 4.18.0-348.el8
  • 4.18.0-372.13.1.0.1.el8_6
  • 4.18.0-372.16.1.0.1.el8_6
  • 4.18.0-372.19.1.0.1.el8_6
  • 4.18.0-372.26.1.0.1.el8_6
  • 4.18.0-372.32.1.0.1.el8_6
  • 4.18.0-372.9.1.el8
  • 4.18.0-425.10.1.el8_7
  • 4.18.0-425.13.1.el8_7
  • 4.18.0-425.19.2.el8_7
  • 4.18.0-425.3.1.el8
  • 4.18.0-477.10.1.el8_8
  • 4.18.0-477.13.1.el8_8
  • 4.18.0-477.15.1.el8_8
  • 4.18.0-477.21.1.el8_8
  • 4.18.0-477.27.0.1.el8_8
  • 4.18.0-477.27.1.el8_8
  • 4.18.0-513.11.0.1.el8_9
  • 4.18.0-513.18.0.1.el8_9
  • 4.18.0-513.18.0.2.el8_9
  • 4.18.0-513.18.1.0.1.el8_9
  • 4.18.0-513.18.1.el8_9
  • 4.18.0-513.24.1.el8_9
  • 4.18.0-513.5.1.el8_9
  • 4.18.0-513.9.1.el8_9
  • 4.18.0-80.1.2.el8_0
  • 4.18.0-80.11.1.el8_0
  • 4.18.0-80.11.2.el8_0
  • 4.18.0-80.4.2.el8_0
  • 4.18.0-80.7.1.el8_0
  • 4.18.0-80.7.2.el8_0
  • 4.18.0-80.el8
Oracle Linux 9 Released
25 kernels
  • 5.14.0-162.12.1.el9_1
  • 5.14.0-162.18.1.el9_1
  • 5.14.0-162.22.2.el9_1
  • 5.14.0-162.23.1.el9_1
  • 5.14.0-162.6.1.el9_1
  • 5.14.0-284.11.1.el9_2
  • 5.14.0-284.18.1.el9_2
  • 5.14.0-284.25.1.0.1.el9_2
  • 5.14.0-284.25.1.el9_2
  • 5.14.0-284.30.0.1.el9_2
  • 5.14.0-284.30.1.el9_2
  • 5.14.0-362.13.0.1.el9_3
  • 5.14.0-362.13.1.el9_3
  • 5.14.0-362.18.0.1.el9_3
  • 5.14.0-362.18.0.2.el9_3
  • 5.14.0-362.18.1.el9_3
  • 5.14.0-362.24.1.0.1.el9_3
  • 5.14.0-362.24.1.0.2.el9_3
  • 5.14.0-362.24.1.el9_3
  • 5.14.0-362.8.1.el9_3
  • 5.14.0-70.13.1.0.3.el9_0
  • 5.14.0-70.17.1.0.1.el9_0
  • 5.14.0-70.22.1.0.1.el9_0
  • 5.14.0-70.26.1.0.1.el9_0
  • 5.14.0-70.30.1.0.1.el9_0
RHEL 8 Released
61 kernels
  • 4.18.0-147.0.2.el8_1
  • 4.18.0-147.0.3.el8_1
  • 4.18.0-147.3.1.el8_1
  • 4.18.0-147.5.1.el8_1
  • 4.18.0-147.8.1.el8_1
  • 4.18.0-147.el8
  • 4.18.0-193.1.2.el8_2
  • 4.18.0-193.13.2.el8_2
  • 4.18.0-193.14.3.el8_2
  • 4.18.0-193.19.1.el8_2
  • 4.18.0-193.28.1.el8_2
  • 4.18.0-193.6.3.el8_2
  • 4.18.0-193.el8
  • 4.18.0-240.1.1.el8_3
  • 4.18.0-240.10.1.el8_3
  • 4.18.0-240.15.1.el8_3
  • 4.18.0-240.22.1.el8_3
  • 4.18.0-240.8.1.el8_3
  • 4.18.0-240.el8
  • 4.18.0-304.el8
  • 4.18.0-305.10.2.el8_4
  • 4.18.0-305.12.1.el8_4
  • 4.18.0-305.17.1.el8_4
  • 4.18.0-305.19.1.el8_4
  • 4.18.0-305.25.1.el8_4
  • 4.18.0-305.3.1.el8_4
  • 4.18.0-305.7.1.el8_4
  • 4.18.0-305.el8
  • 4.18.0-348.12.2.el8_5
  • 4.18.0-348.2.1.el8_5
  • 4.18.0-348.20.1.el8_5
  • 4.18.0-348.23.1.el8_5
  • 4.18.0-348.7.1.el8_5
  • 4.18.0-348.el8
  • 4.18.0-372.13.1.el8_6
  • 4.18.0-372.16.1.el8_6
  • 4.18.0-372.19.1.el8_6
  • 4.18.0-372.26.1.el8_6
  • 4.18.0-372.32.1.el8_6
  • 4.18.0-372.9.1.el8
  • 4.18.0-425.10.1.el8_7
  • 4.18.0-425.13.1.el8_7
  • 4.18.0-425.19.2.el8_7
  • 4.18.0-425.3.1.el8
  • 4.18.0-477.10.1.el8_8
  • 4.18.0-477.13.1.el8_8
  • 4.18.0-477.15.1.el8_8
  • 4.18.0-477.21.1.el8_8
  • 4.18.0-477.27.1.el8_8
  • 4.18.0-513.11.1.el8_9
  • 4.18.0-513.18.1.el8_9
  • 4.18.0-513.24.1.el8_9
  • 4.18.0-513.5.1.el8_9
  • 4.18.0-513.9.1.el8_9
  • 4.18.0-80.1.2.el8_0
  • 4.18.0-80.11.1.el8_0
  • 4.18.0-80.11.2.el8_0
  • 4.18.0-80.4.2.el8_0
  • 4.18.0-80.7.1.el8_0
  • 4.18.0-80.7.2.el8_0
  • 4.18.0-80.el8
RHEL 9 Released
19 kernels
  • 5.14.0-162.12.1.el9_1
  • 5.14.0-162.18.1.el9_1
  • 5.14.0-162.22.2.el9_1
  • 5.14.0-162.23.1.el9_1
  • 5.14.0-162.6.1.el9_1
  • 5.14.0-284.11.1.el9_2
  • 5.14.0-284.18.1.el9_2
  • 5.14.0-284.25.1.el9_2
  • 5.14.0-284.30.1.el9_2
  • 5.14.0-362.13.1.el9_3
  • 5.14.0-362.18.1.el9_3
  • 5.14.0-362.24.1.el9_3
  • 5.14.0-362.8.1.el9_3
  • 5.14.0-70.13.1.el9_0
  • 5.14.0-70.17.1.el9_0
  • 5.14.0-70.22.1.el9_0
  • 5.14.0-70.26.1.el9_0
  • 5.14.0-70.30.1.el9_0
  • 5.14.0-70.5.1.el9_0
Rocky Linux 8 Released
34 kernels
  • 4.18.0-513.24.1.el8_9
  • 4.18.0-513.5.1.el8_9
  • 4.18.0-513.9.1.el8_9
  • 4.18.0-305.10.2.el8_4
  • 4.18.0-305.12.1.el8_4
  • 4.18.0-305.17.1.el8_4
  • 4.18.0-305.19.1.el8_4
  • 4.18.0-305.25.1.el8_4
  • 4.18.0-305.3.1.el8_4
  • 4.18.0-305.7.1.el8_4
  • 4.18.0-348.12.2.el8_5
  • 4.18.0-348.2.1.el8_5
  • 4.18.0-348.20.1.el8_5
  • 4.18.0-348.23.1.el8_5
  • 4.18.0-348.7.1.el8_5
  • 4.18.0-372.13.1.el8_6
  • 4.18.0-372.16.1.el8_6.0.1
  • 4.18.0-372.16.1.el8_6
  • 4.18.0-372.19.1.el8_6
  • 4.18.0-372.26.1.el8_6
  • 4.18.0-372.32.1.el8_6
  • 4.18.0-372.9.1.el8
  • 4.18.0-425.10.1.el8_7
  • 4.18.0-425.13.1.el8_7
  • 4.18.0-425.19.2.el8_7
  • 4.18.0-425.3.1.el8
  • 4.18.0-477.10.1.el8_8
  • 4.18.0-477.13.1.el8_8
  • 4.18.0-477.15.1.el8_8
  • 4.18.0-477.21.1.el8_8
  • 4.18.0-477.27.1.el8_8
  • 4.18.0-513.11.1.el8_9.0.1
  • 4.18.0-513.11.1.el8_9
  • 4.18.0-513.18.1.el8_9
Rocky Linux 9 Released
18 kernels
  • 5.14.0-162.12.1.el9_1.0.1
  • 5.14.0-162.12.1.el9_1.0.2
  • 5.14.0-162.18.1.el9_1
  • 5.14.0-162.22.2.el9_1
  • 5.14.0-162.23.1.el9_1
  • 5.14.0-162.6.1.el9_1.0.1
  • 5.14.0-162.6.1.el9_1
  • 5.14.0-284.30.1.el9_2
  • 5.14.0-362.13.1.el9_3
  • 5.14.0-362.18.1.el9_3.0.1
  • 5.14.0-362.18.1.el9_3
  • 5.14.0-362.24.1.el9_3.0.1
  • 5.14.0-362.24.1.el9_3
  • 5.14.0-362.8.1.el9_3
  • 5.14.0-70.22.1.el9_0
  • 5.14.0-70.26.1.el9_0
  • 5.14.0-70.30.1.el9_0
  • 5.14.0-284.11.1.el9_2
Ubuntu 16.04 AWS HWE ESM Planned
Ubuntu 16.04 GCP ESM Planned
Ubuntu 16.04 HWE ESM Planned
Ubuntu 18.04 Planned
Ubuntu 18.04 AWS Planned
Ubuntu 18.04 GCP Planned
Ubuntu 20.04 Planned
Ubuntu 22.04 Planned