CVE-2025-38683

hv_netvsc: Fix panic during namespace deletion with VF

MEDIUM
5.5
CVSS Score
Published: September 4, 2025 at 03:32 PM UTC
Updated: October 19, 2026 at 09:10 PM UTC
3 products affected across 3 vendorsLinux KernelDebian LinuxSIMATIC CN 4100

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%

Description

In the Linux kernel, the following vulnerability has been resolved: hv_netvsc: Fix panic during namespace deletion with VF The existing code move the VF NIC to new namespace when NETDEV_REGISTER is received on netvsc NIC. During deletion of the namespace, default_device_exit_batch() >> default_device_exit_net() is called. When netvsc NIC is moved back and registered to the default namespace, it automatically brings VF NIC back to the default namespace. This will cause the default_device_exit_net() >> for_each_netdev_safe loop unable to detect the list end, and hit NULL ptr: [ 231.449420] mana 7870:00:00.0 enP30832s1: Moved VF to namespace with: eth0 [ 231.449656] BUG: kernel NULL pointer dereference, address: 0000000000000010 [ 231.450246] #PF: supervisor read access in kernel mode [ 231.450579] #PF: error_code(0x0000) - not-present page [ 231.450916] PGD 17b8a8067 P4D 0 [ 231.451163] Oops: Oops: 0000 [#1] SMP NOPTI [ 231.451450] CPU: 82 UID: 0 PID: 1394 Comm: kworker/u768:1 Not tainted 6.16.0-rc4+ #3 VOLUNTARY [ 231.452042] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 11/21/2024 [ 231.452692] Workqueue: netns cleanup_net [ 231.452947] RIP: 0010:default_device_exit_batch+0x16c/0x3f0 [ 231.453326] Code: c0 0c f5 b3 e8 d5 db fe ff 48 85 c0 74 15 48 c7 c2 f8 fd ca b2 be 10 00 00 00 48 8d 7d c0 e8 7b 77 25 00 49 8b 86 28 01 00 00 <48> 8b 50 10 4c 8b 2a 4c 8d 62 f0 49 83 ed 10 4c 39 e0 0f 84 d6 00 [ 231.454294] RSP: 0018:ff75fc7c9bf9fd00 EFLAGS: 00010246 [ 231.454610] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 61c8864680b583eb [ 231.455094] RDX: ff1fa9f71462d800 RSI: ff75fc7c9bf9fd38 RDI: 0000000030766564 [ 231.455686] RBP: ff75fc7c9bf9fd78 R08: 0000000000000000 R09: 0000000000000000 [ 231.456126] R10: 0000000000000001 R11: 0000000000000004 R12: ff1fa9f70088e340 [ 231.456621] R13: ff1fa9f70088e340 R14: ffffffffb3f50c20 R15: ff1fa9f7103e6340 [ 231.457161] FS: 0000000000000000(0000) GS:ff1faa6783a08000(0000) knlGS:0000000000000000 [ 231.457707] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 231.458031] CR2: 0000000000000010 CR3: 0000000179ab2006 CR4: 0000000000b73ef0 [ 231.458434] Call Trace: [ 231.458600] <TASK> [ 231.458777] ops_undo_list+0x100/0x220 [ 231.459015] cleanup_net+0x1b8/0x300 [ 231.459285] process_one_work+0x184/0x340 To fix it, move the ns change to a workqueue, and take rtnl_lock to avoid changing the netdev list when default_device_exit_net() is using it.

Affected

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

4.19.323 ≤ v < 4.205.10.229 ≤ v < 5.10.2415.15.170 ≤ v < 5.15.1905.4.285 ≤ v < 5.56.1.115 ≤ v < 6.1.1496.11.6 ≤ v < 6.126.12.1 ≤ v < 6.12.436.13 ≤ v < 6.15.116.16 ≤ v < 6.16.26.6.59 ≤ v < 6.6.10331a38a908c98aebc7a1104dab5f1ba199f234b7b3eb6aa870057da9f1304db660f68b9c2eb7e856d4.19.3234c262801ea60c518b5bebc22a09f5b78b3147da24d748d4bd2d86739b159563f257e3dc5492c88d4faa6e3e66b3251eb4bf5761d2f3f0f14095aaca5.10.2295.15.1705.4.2856.1.1156.11.66.126.12 rc56.12 rc66.12 rc76.176.17 rc16.6.5962c85b9a0dd7471a362170323e1211ad98ff7b4b7abd221a55a61b6b2bf0e80f850bfc0ae75c7e01b7a396f76ada277d049558db648389456458af65
Vendor states this is fixed in 2a70cbd1aef8b8be39992ab7b776ce1390091774 (fixed)
Vendor states this is fixed in 33caa208dba6fa639e8a92fd0c8320b652e5550c (fixed)
Vendor states this is fixed in 3467c4ebb334658c6fcf3eabb64a6e8b2135e010 (fixed)
Vendor states this is fixed in 3ca41ab55d23a0aa71661a5a56a8f06c11db90dc (fixed)
Vendor states this is fixed in 4293f6c5ccf735b26afeb6825def14d830e0367b (fixed)
Vendor states this is fixed in 4eff1e57a8ef98d70451b94e8437e458b27dd234 (fixed)
Vendor states this is fixed in 5276896e6923ebe8c68573779d784aaf7d987cce (fixed)
Vendor states this is fixed in d036104947176d030bec64792d54e1b4f4c7f318 (fixed)
Affected range stops below 4.20, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.10.241 (unaffected)
Vendor states this is fixed in 5.15.190 (unaffected)
Affected range stops below 5.5, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 6.1.149 (unaffected)
Vendor states this is fixed in 6.12 (unaffected)
Vendor states this is fixed in 6.12.43 (unaffected)
Vendor states this is fixed in 6.15.11 (unaffected)
Vendor states this is fixed in 6.16.2 (unaffected)
Vendor states this is fixed in 6.17 (unaffected)
Vendor states this is fixed in 6.6.103 (unaffected)
v < V5.0
Affected range stops below V5.0, so it looks safe — our inference, not a vendor statement

References (11)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2a70cbd1aef8b8be39992ab7b776ce1390091774
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/33caa208dba6fa639e8a92fd0c8320b652e5550c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3467c4ebb334658c6fcf3eabb64a6e8b2135e010
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3ca41ab55d23a0aa71661a5a56a8f06c11db90dc
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4293f6c5ccf735b26afeb6825def14d830e0367b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4eff1e57a8ef98d70451b94e8437e458b27dd234
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5276896e6923ebe8c68573779d784aaf7d987cce
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d036104947176d030bec64792d54e1b4f4c7f318

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