CVE-2023-52574

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

MEDIUM
5.5
CVSS Score
Published: March 2, 2024 at 09:59 PM UTC
Updated: August 5, 2026 at 09:25 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.7 ≤ v < 4.14.3273.7 ≤ v < 4.19.2963.7 ≤ v < 5.10.1983.7 ≤ v < 5.15.1343.7 ≤ v < 5.4.2583.7 ≤ v < 6.1.563.7 ≤ v < 6.5.63.7 ≤ v < 6.64.15 ≤ v < 4.19.2964.20 ≤ v < 5.4.2585.11 ≤ v < 5.15.1345.16 ≤ v < 6.1.565.5 ≤ v < 5.10.1986.2 ≤ v < 6.5.61d76efe1577b4323609b1bcbfafa8b731eda071a6.6 rc16.6 rc2
Vendor states this is fixed in 1779eb51b9cc628cee551f252701a85a2a50a457 (fixed)
Vendor states this is fixed in 2f0acb0736ecc3eb85dc80ad2790d634dcb10b58 (fixed)
Vendor states this is fixed in 492032760127251e5540a5716a70996bacf2a3fd (fixed)
Vendor states this is fixed in a7fb47b9711101d2405b0eb1276fb1f9b9b270c7 (fixed)
Vendor states this is fixed in b44dd92e2afd89eb6e9d27616858e72a67bdc1a7 (fixed)
Vendor states this is fixed in c5f6478686bb45f453031594ae19b6c9723a780d (fixed)
Vendor states this is fixed in cac50d9f5d876be32cb9aa21c74018468900284d (fixed)
Vendor states this is fixed in cd05eec2ee0cc396813a32ef675634e403748255 (fixed)
Vendor states this is fixed in 3.7 (unaffected)
Vendor states this is fixed in 4.14.327 (unaffected)
Vendor states this is fixed in 4.19.296 (unaffected)
Vendor states this is fixed in 5.10.198 (unaffected)
Vendor states this is fixed in 5.15.134 (unaffected)
Vendor states this is fixed in 5.4.258 (unaffected)
Vendor states this is fixed in 6.1.56 (unaffected)
Vendor states this is fixed in 6.5.6 (unaffected)
Vendor states this is fixed in 6.6 (unaffected)

References (8)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1779eb51b9cc628cee551f252701a85a2a50a457
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2f0acb0736ecc3eb85dc80ad2790d634dcb10b58
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/492032760127251e5540a5716a70996bacf2a3fd
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a7fb47b9711101d2405b0eb1276fb1f9b9b270c7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b44dd92e2afd89eb6e9d27616858e72a67bdc1a7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c5f6478686bb45f453031594ae19b6c9723a780d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cac50d9f5d876be32cb9aa21c74018468900284d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cd05eec2ee0cc396813a32ef675634e403748255

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card