CVE-2023-52574
team: fix null-ptr-deref when team device type is changed
Reported by linux · Published March 2, 2024
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.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| kernel-tools-libs-devel | errata.rockylinux.org | 4.18.0-553.123.1.el8 |
| kernel-tools | Amazon Linux | 4.14.327-246.539.amzn2 |
| kernel-devel | Amazon Linux | 4.14.327-246.539.amzn2 |
| kernel-tools-libs | errata.rockylinux.org | 4.18.0-553.123.1.el8 |
| kernel-debug-modules | errata.rockylinux.org | 4.18.0-553.123.1.el8 |
| kernel-livepatch-6.1.56-82.125 | Amazon Linux | 1.0-0.amzn2023 |
| kernel-libbpf-static | Amazon Linux | 6.1.56-82.125.amzn2023 |
| bpftool | errata.rockylinux.org | 4.18.0-553.123.1.el8 |
| Linux | Linux | a7fb47b9711101d2405b0eb1276fb1f9b9b270c7, 3.7, 1779eb51b9cc628cee551f252701a85a2a50a457 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 1d76efe1577b4323609b1bcbfafa8b731eda071a, 1d76efe1577b4323609b1bcbfafa8b731eda071a, 1d76efe1577b4323609b1bcbfafa8b731eda071a |
| Linux | Linux | 3.7, 0, 4.14.327 |
| amazon:2 | kernel-tools | 0 |
| amazon:2 | kernel-devel | 0 |
| amazon:2023 | kernel-livepatch-6.1.56-82.125 | 0 |
| amazon:2023 | kernel-libbpf-static | 0 |
| Linux | Linux | 6.1.56, 1d76efe1577b4323609b1bcbfafa8b731eda071a, 1d76efe1577b4323609b1bcbfafa8b731eda071a |
| amazon:2 | kernel-tools-devel | 0 |
| amazon:2023 | perf | 0 |
| amazon:2 | perf | 0 |
| amazon:2023 | kernel-tools-devel | 0 |
| amazon:2023 | bpftool | 0 |
| amazon:2023 | kernel-headers | 0 |
| amazon:2023 | kernel-libbpf-devel | 0 |
| amazon:2 | kernel-livepatch-4.14.327-246.539 | 0 |
| linux | linux_kernel | 3.7, 3.7, 3.7 |
| amazon:2 | kernel | 0 |
| amazon:2 | kernel-headers | 0 |
| amazon:2023 | python3-perf | 0 |
| amazon:2023 | kernel-devel | 0 |
…and 5 more
Timeline
- Mar 2, 2024 CVE Published
- Mar 3, 2024 EPSS Score (30 in total, the first dated here)
- Oct 5, 2024 Coalition ESS Score (20 in total, the first dated here)
- Jan 25, 2026 Security Advisory (197 in total, the first dated here)
- Apr 20, 2026 Distribution Patch (186 in total, the first dated here)
- May 11, 2026 CVE Updated
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2023-52574
vulnetix vdb fixes CVE-2023-52574
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2023-52574/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart