CVE-2025-22103 net: fix NULL pointer dereference in l3mdev_l3_rcv
A race condition in the Linux kernel's L3MDEV handling causes a NULL pointer dereference, leading to a system crash when deleting L3S IPvLAN interfaces.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-22103?
CVE-2025-22103 is a medium-severity vulnerability in Linux kernel, published on 16 Apr 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
net: fix NULL pointer dereference in l3mdev_l3_rcv
When delete l3s ipvlan:
ip link del link eth0 ipvlan1 type ipvlan mode l3s
This may cause a null pointer dereference:
Call trace: ip_rcv_finish+0x48/0xd0 ip_rcv+0x5c/0x100 __netif_receive_skb_one_core+0x64/0xb0 __netif_receive_skb+0x20/0x80 process_backlog+0xb4/0x204 napi_poll+0xe8/0x294 net_rx_action+0xd8/0x22c __do_softirq+0x12c/0x354
This is because l3mdev_l3_rcv() visit dev->l3mdev_ops after ipvlan_l3s_unregister() assign the dev->l3mdev_ops to NULL. The process like this:
(CPU1) | (CPU2) l3mdev_l3_rcv() | check dev->priv_flags: | master = skb->dev; | | | ipvlan_l3s_unregister() | set dev->priv_flags | dev->l3mdev_ops = NULL; | visit master->l3mdev_ops |
To avoid this by do not set dev->l3mdev_ops when unregister l3s ipvlan.
Weakness: CWE-476
Which versions are affected by CVE-2025-22103?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-22103?
Apply the vendor's patch.
Is CVE-2025-22103 being exploited?
There is no known exploitation of CVE-2025-22103 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-62501, AZL-69647, BELL-CVE-2025-22103, DEBIAN-CVE-2025-22103, GHSA-3w79-f82r-vfcx, ROOT-OS-DEBIAN-11-CVE-2025-22103 and 5 more.