In the Linux kernel, the following vulnerability has been resolved:
net: dsa: fix netdev_priv() dereference before check on non-DSA netdevice events
After the blamed commit, we started doing this dereference for every NETDEV_CHANGEUPPER and NETDEV_PRECHANGEUPPER event in the system.
static inline struct dsa_port *dsa_user_to_port(const struct net_device *dev) { struct dsa_user_priv *p = netdev_priv(dev);
return p->dp; }
Which is obviously bogus, because not all net_devices have a netdev_priv() of type struct dsa_user_priv. But struct dsa_user_priv is fairly small, and p->dp means dereferencing 8 bytes starting with offset 16. Most drivers allocate that much private memory anyway, making our access not fault, and we discard the bogus data quickly afterwards, so this wasn't caught.
But the dummy interface is somewhat special in that it calls alloc_netdev() with a priv size of 0. So every netdev_priv() dereference is invalid, and we get this when we emit a NETDEV_PRECHANGEUPPER event with a VLAN as its new upper:
$ ip link add dummy1 type dummy $ ip link add link dummy1 name dummy1.100 type vlan id 100 [ 43.309174] ================================================================== [ 43.316456] BUG: KASAN: slab-out-of-bounds in dsa_user_prechangeupper+0x30/0xe8 [ 43.323835] Read of size 8 at addr ffff3f86481d2990 by task ip/374 [ 43.330058] [ 43.342436] Call trace: [ 43.366542] dsa_user_prechangeupper+0x30/0xe8 [ 43.371024] dsa_user_netdevice_event+0xb38/0xee8 [ 43.375768] notifier_call_chain+0xa4/0x210 [ 43.379985] raw_notifier_call_chain+0x24/0x38 [ 43.384464] __netdev_upper_dev_link+0x3ec/0x5d8 [ 43.389120] netdev_upper_dev_link+0x70/0xa8 [ 43.393424] register_vlan_dev+0x1bc/0x310 [ 43.397554] vlan_newlink+0x210/0x248 [ 43.401247] rtnl_newlink+0x9fc/0xe30 [ 43.404942] rtnetlink_rcv_msg+0x378/0x580
Avoid the kernel oops by dereferencing after the type check, as customary.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | Mar 17, 2025 | Feb 23, 2024 |
| Suse | — | Upgrade kernel-64kbUpgrade dlm-kmp-rtUpgrade kernel-kvmsmall-develUpgrade kernel-source-rtUpgrade kernel-docs-htmlUpgrade kernel-rt-livepatch-develUpgrade ocfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-default-baseUpgrade kernel-kvmsmall-vdsoUpgrade dtb-lgUpgrade kernel-source-azureUpgrade kernel-debug-develUpgrade dtb-marvellUpgrade kernel-rt_debug-vdsoUpgrade kernel-debugUpgrade kernel-symsUpgrade kernel-rt-optionalUpgrade gfs2-kmp-defaultUpgrade kernel-azure-vdsoUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-azureUpgrade dtb-allwinnerUpgrade kernel-rt_debug-develUpgrade kernel-64kb-extraUpgrade ocfs2-kmp-64kbUpgrade dtb-freescaleUpgrade dtb-broadcomUpgrade kernel-docsUpgrade kernel-default-livepatchUpgrade kernel-syms-rtUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-develUpgrade dtb-apmUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade dtb-renesasUpgrade kselftests-kmp-rtUpgrade dtb-socionextUpgrade kernel-64kb-optionalUpgrade kernel-rt_debugUpgrade kernel-sourceUpgrade reiserfs-kmp-azureUpgrade dtb-exynosUpgrade dtb-sprdUpgrade dtb-qcomUpgrade dtb-xilinxUpgrade kernel-rt-develUpgrade gfs2-kmp-azureUpgrade kernel-default-optionalUpgrade gfs2-kmp-rtUpgrade cluster-md-kmp-rtUpgrade kernel-kvmsmallUpgrade ocfs2-kmp-defaultUpgrade kernel-develUpgrade cluster-md-kmp-64kbUpgrade kernel-debug-vdsoUpgrade kernel-devel-azureUpgrade kernel-rt-vdsoUpgrade kernel-default-vdsoUpgrade kernel-azureUpgrade kernel-syms-azureUpgrade kernel-obs-buildUpgrade dtb-alteraUpgrade kernel-source-vanillaUpgrade kernel-rt-extraUpgrade dtb-mediatekUpgrade dlm-kmp-64kbUpgrade kernel-macrosUpgrade kernel-obs-qaUpgrade dtb-armUpgrade kernel-azure-optionalUpgrade dtb-amlogicUpgrade kernel-devel-rtUpgrade kernel-rtUpgrade dtb-rockchipUpgrade kernel-azure-develUpgrade dtb-nvidiaUpgrade dtb-caviumUpgrade kselftests-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-default-extra | Dec 5, 2025 | Dec 13, 2024 |
| Ubuntu | — | Upgrade linux-raspi-realtime | Feb 11, 2025 | Feb 23, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 28, 2026 | Feb 23, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub