In the Linux kernel, the following vulnerability has been resolved:
net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported
Russell King reports that on the ZII dev rev B, deleting a bridge VLAN from a user port fails with -ENOENT: https://lore.kernel.org/netdev/[email protected]/
This comes from mv88e6xxx_port_vlan_leave() -> mv88e6xxx_mst_put(), which tries to find an MST entry in &chip->msts associated with the SID, but fails and returns -ENOENT as such.
But we know that this chip does not support MST at all, so that is not surprising. The question is why does the guard in mv88e6xxx_mst_put() not exit early:
if (!sid) return 0;
And the answer seems to be simple: the sid comes from vlan.sid which supposedly was previously populated by mv88e6xxx_vtu_get(). But some chip->info->ops->vtu_getnext() implementations do not populate vlan.sid, for example see mv88e6185_g1_vtu_getnext(). In that case, later in mv88e6xxx_port_vlan_leave() we are using a garbage sid which is just residual stack memory.
Testing for sid == 0 covers all cases of a non-bridge VLAN or a bridge VLAN mapped to the default MSTI. For some chips, SID 0 is valid and installed by mv88e6xxx_stu_setup(). A chip which does not support the STU would implicitly only support mapping all VLANs to the default MSTI, so although SID 0 is not valid, it would be sufficient, if we were to zero-initialize the vlan structure, to fix the bug, due to the coincidence that a test for vlan.sid == 0 already exists and leads to the same (correct) behavior.
Another option which would be sufficient would be to add a test for mv88e6xxx_has_stu() inside mv88e6xxx_mst_put(), symmetric to the one which already exists in mv88e6xxx_mst_get(). But that placement means the caller will have to dereference vlan.sid, which means it will access uninitialized memory, which is not nice even if it ignores it later.
So we end up making both modifications, in order to not rely just on the sid == 0 coincidence, but also to avoid having uninitialized structure fields which might get temporarily accessed.
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 | May 12, 2025 | May 9, 2025 |
| Suse | — | Upgrade kernel-azure-vdsoUpgrade cluster-md-kmp-defaultUpgrade dtb-broadcomUpgrade kernel-source-rtUpgrade dtb-freescaleUpgrade ocfs2-kmp-64kbUpgrade dtb-amdUpgrade dtb-apmUpgrade kernel-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-amlogicUpgrade dtb-nvidiaUpgrade kernel-default-develUpgrade kernel-docsUpgrade dtb-socionextUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-docs-htmlUpgrade kernel-obs-qaUpgrade kernel-default-extraUpgrade kselftests-kmp-defaultUpgrade dlm-kmp-defaultUpgrade dtb-hisiliconUpgrade kernel-64kb-optionalUpgrade dtb-marvellUpgrade kernel-default-livepatchUpgrade dtb-appleUpgrade kernel-rt_debugUpgrade kernel-syms-rtUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-azureUpgrade kernel-debugUpgrade reiserfs-kmp-64kbUpgrade dtb-renesasUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-azureUpgrade kselftests-kmp-rtUpgrade dtb-sprdUpgrade kernel-64kb-extraUpgrade kernel-default-livepatch-develUpgrade dtb-amazonUpgrade kernel-kvmsmall-vdsoUpgrade kernel-macrosUpgrade dlm-kmp-rtUpgrade kernel-debug-develUpgrade kernel-azure-extraUpgrade reiserfs-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-default-baseUpgrade kernel-azure-optionalUpgrade kernel-azureUpgrade dtb-caviumUpgrade kernel-develUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-rtUpgrade kernel-azure-develUpgrade kernel-devel-rtUpgrade ocfs2-kmp-azureUpgrade kernel-debug-vdsoUpgrade dtb-qcomUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-azureUpgrade dtb-exynosUpgrade dtb-allwinnerUpgrade kernel-64kbUpgrade dtb-rockchipUpgrade kernel-sourceUpgrade kernel-default-optionalUpgrade dtb-xilinxUpgrade kernel-kvmsmall-develUpgrade ocfs2-kmp-defaultUpgrade kernel-rtUpgrade kernel-obs-buildUpgrade kselftests-kmp-64kbUpgrade kernel-source-azureUpgrade kernel-rt_debug-develUpgrade kernel-rt-extraUpgrade kernel-default-vdsoUpgrade kernel-64kb-develUpgrade gfs2-kmp-rtUpgrade dtb-mediatekUpgrade kernel-zfcpdumpUpgrade kernel-symsUpgrade gfs2-kmp-64kbUpgrade dtb-alteraUpgrade kernel-syms-azureUpgrade kernel-rt-develUpgrade dtb-lgUpgrade gfs2-kmp-defaultUpgrade kernel-devel-azureUpgrade dtb-armUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-source-vanillaUpgrade kernel-kvmsmall | Dec 5, 2025 | Jul 8, 2025 |
| Ubuntu | — | Upgrade linux-image-oem-22.04Upgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-ibmUpgrade linux-image-azure-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-genericUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.14.0-22-generic-64kUpgrade linux-image-aws-fipsUpgrade linux-image-nvidia-6.8Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.14.0-1007-aws-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-lowlatencyUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-virtualUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-realtime-6.8.1Upgrade linux-image-aws-6.8Upgrade linux-image-6.14.0-1008-gcp-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-generic-64kUpgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidiaUpgrade linux-image-gkeopUpgrade linux-image-6.14.0-1007-azure-fdeUpgrade linux-image-azureUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-intel-iotgUpgrade linux-image-raspiUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-aws-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-oracle-6.8Upgrade linux-image-6.14.0-1007-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-lts-24.04Upgrade linux-image-xilinx-6.8Upgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-gke-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-awsUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.14.0-1004-realtimeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-kvmUpgrade linux-image-generic-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-6.14.0-1007-oracle-64kUpgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-6.14.0-1007-awsUpgrade linux-image-oracleUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-gcpUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-ibm-6.8Upgrade linux-image-xilinxUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-6.14.0-1008-gcpUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-azure-fips-6.8Upgrade linux-image-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-azure-fdeUpgrade linux-image-6.14.0-22-genericUpgrade linux-image-6.14.0-1007-raspiUpgrade linux-image-fips-6.8Upgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-6.14.0-1007-azureUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1046-aws-64k | Jun 26, 2025 | May 9, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | May 9, 2025 |
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