In the Linux kernel, the following vulnerability has been resolved:
net: vlan: fix underflow for the real_dev refcnt
Inject error before dev_hold(real_dev) in register_vlan_dev(), and execute the following testcase:
ip link add dev dummy1 type dummy ip link add name dummy1.100 link dummy1 type vlan id 100 ip link del dev dummy1
When the dummy netdevice is removed, we will get a WARNING as following:
======================================================================= refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 2 PID: 0 at lib/refcount.c:31 refcount_warn_saturate+0xbf/0x1e0
and an endless loop of:
======================================================================= unregister_netdevice: waiting for dummy1 to become free. Usage count = -1073741824
That is because dev_put(real_dev) in vlan_dev_free() be called without dev_hold(real_dev) in register_vlan_dev(). It makes the refcnt of real_dev underflow.
Move the dev_hold(real_dev) to vlan_dev_init() which is the call-back of ndo_init(). That makes dev_hold() and dev_put() for vlan's real_dev symmetrical.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.10.93-87.444Upgrade bpftoolUpgrade python-perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-develUpgrade perf-debuginfoUpgrade perfUpgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-headers | May 22, 2025 | May 24, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 24, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 24, 2024 |
| Suse | — | Upgrade kernel-kvmsmall-develUpgrade kernel-default-extraUpgrade dtb-amazonUpgrade dtb-qcomUpgrade ocfs2-kmp-rtUpgrade kernel-source-azureUpgrade kernel-rt-vdsoUpgrade kernel-azure-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rtUpgrade dtb-amlogicUpgrade dtb-apmUpgrade dtb-socionextUpgrade kernel-azure-livepatch-develUpgrade kernel-macrosUpgrade dlm-kmp-defaultUpgrade kernel-64kb-livepatch-develUpgrade gfs2-kmp-64kbUpgrade gfs2-kmp-rtUpgrade kernel-azure-vdsoUpgrade kernel-symsUpgrade kselftests-kmp-defaultUpgrade kernel-devel-azureUpgrade kernel-rt_debugUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-azureUpgrade dtb-armUpgrade kernel-obs-qaUpgrade dtb-marvellUpgrade kernel-rt-livepatch-develUpgrade dtb-mediatekUpgrade kernel-kvmsmall-vdsoUpgrade kernel-docsUpgrade kernel-64kb-optionalUpgrade dlm-kmp-azureUpgrade kernel-64kbUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-syms-azureUpgrade kernel-docs-htmlUpgrade dtb-exynosUpgrade kernel-azure-extraUpgrade dtb-lgUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-defaultUpgrade kernel-default-develUpgrade kernel-kvmsmallUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade kernel-sourceUpgrade dlm-kmp-rtUpgrade kselftests-kmp-64kbUpgrade kernel-rt-develUpgrade kernel-debug-vdsoUpgrade kernel-defaultUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-livepatchUpgrade kernel-source-rtUpgrade kernel-64kb-extraUpgrade dtb-allwinnerUpgrade ocfs2-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-debug-develUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade dtb-freescaleUpgrade cluster-md-kmp-64kbUpgrade dtb-nvidiaUpgrade reiserfs-kmp-64kbUpgrade gfs2-kmp-azureUpgrade dtb-amdUpgrade kernel-default-baseUpgrade gfs2-kmp-defaultUpgrade dtb-xilinxUpgrade dtb-appleUpgrade kernel-rt_debug-livepatch-develUpgrade reiserfs-kmp-azureUpgrade kernel-default-livepatchUpgrade cluster-md-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-azureUpgrade dtb-rockchipUpgrade kernel-develUpgrade kernel-devel-rtUpgrade kselftests-kmp-rtUpgrade kernel-rt-optionalUpgrade dtb-hisiliconUpgrade dtb-caviumUpgrade dlm-kmp-64kbUpgrade dtb-sprdUpgrade ocfs2-kmp-azureUpgrade dtb-broadcomUpgrade kernel-rt_debug-develUpgrade dtb-renesasUpgrade kernel-source-vanillaUpgrade reiserfs-kmp-rtUpgrade kernel-64kb-develUpgrade kernel-azure-optionalUpgrade kernel-debugUpgrade kernel-rt-extraUpgrade dtb-altera | Aug 9, 2024 | May 24, 2024 |
| Ubuntu | — | Upgrade linux-aws-5.4Upgrade linux-bluefieldUpgrade linux-awsUpgrade linux-raspi-5.4Upgrade linux-raspiUpgrade linux-ibm-5.4Upgrade linuxUpgrade linux-oracle-5.4Upgrade linux-kvmUpgrade linux-fipsUpgrade linux-hwe-5.4Upgrade linux-azureUpgrade linux-gcpUpgrade linux-gcp-5.4Upgrade linux-oracleUpgrade linux-ibmUpgrade linux-azure-5.4Upgrade linux-gkeop | Nov 19, 2024 | May 24, 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