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 python-perfUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-livepatch-5.10.93-87.444Upgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel-develUpgrade perf-debuginfoUpgrade perf | 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 cluster-md-kmp-64kbUpgrade dtb-freescaleUpgrade reiserfs-kmp-64kbUpgrade dtb-broadcomUpgrade kselftests-kmp-64kbUpgrade kernel-obs-buildUpgrade dtb-nvidiaUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-sprdUpgrade kernel-rt-develUpgrade dtb-renesasUpgrade kernel-rt-extraUpgrade dlm-kmp-64kbUpgrade dlm-kmp-rtUpgrade kernel-rt_debug-develUpgrade dtb-hisiliconUpgrade cluster-md-kmp-rtUpgrade kernel-debugUpgrade dtb-xilinxUpgrade dtb-alteraUpgrade ocfs2-kmp-azureUpgrade dtb-caviumUpgrade kernel-default-vdsoUpgrade dtb-rockchipUpgrade dtb-allwinnerUpgrade kernel-default-baseUpgrade kernel-default-livepatch-develUpgrade kernel-rt-livepatchUpgrade kernel-64kb-develUpgrade kernel-source-vanillaUpgrade kernel-develUpgrade gfs2-kmp-azureUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade gfs2-kmp-defaultUpgrade dtb-appleUpgrade kernel-debug-develUpgrade kernel-default-optionalUpgrade kselftests-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-devel-rtUpgrade dtb-amdUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-optionalUpgrade kernel-defaultUpgrade kernel-default-livepatchUpgrade kernel-azureUpgrade reiserfs-kmp-azureUpgrade kernel-debug-vdsoUpgrade kernel-source-rtUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-extraUpgrade kernel-azure-develUpgrade cluster-md-kmp-azureUpgrade dtb-amlogicUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-defaultUpgrade kernel-syms-azureUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-livepatch-develUpgrade dtb-mediatekUpgrade gfs2-kmp-rtUpgrade kernel-64kbUpgrade kernel-64kb-optionalUpgrade kernel-rtUpgrade gfs2-kmp-64kbUpgrade kernel-rt-livepatch-develUpgrade dtb-marvellUpgrade dtb-qcomUpgrade kernel-obs-qaUpgrade dtb-socionextUpgrade kselftests-kmp-defaultUpgrade kernel-symsUpgrade kernel-rt_debug-vdsoUpgrade dtb-apmUpgrade kernel-64kb-livepatch-develUpgrade kernel-rt_debugUpgrade dlm-kmp-defaultUpgrade kernel-macrosUpgrade kernel-devel-azureUpgrade dtb-armUpgrade kernel-kvmsmall-vdsoUpgrade kernel-docs-htmlUpgrade kernel-source-azureUpgrade ocfs2-kmp-rtUpgrade dtb-amazonUpgrade kernel-zfcpdumpUpgrade kernel-default-develUpgrade dtb-lgUpgrade kernel-docsUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-sourceUpgrade kernel-syms-rtUpgrade kernel-azure-vdsoUpgrade dtb-exynosUpgrade dlm-kmp-azureUpgrade kernel-default-extraUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmallUpgrade kernel-azure-extraUpgrade kernel-rt-vdso | Aug 9, 2024 | May 24, 2024 |
| Ubuntu | — | Upgrade linux-gcp-5.4Upgrade linux-gkeopUpgrade linux-azureUpgrade linux-fipsUpgrade linux-azure-5.4Upgrade linux-gcpUpgrade linux-oracleUpgrade linux-ibmUpgrade linux-kvmUpgrade linux-hwe-5.4Upgrade linux-raspiUpgrade linux-raspi-5.4Upgrade linux-aws-5.4Upgrade linuxUpgrade linux-oracle-5.4Upgrade linux-ibm-5.4Upgrade linux-bluefieldUpgrade linux-aws | 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