CVE-2026-68301
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: hsr: fix memory leak on slave unregistration by removing synced VLANs
When an HSR master device is brought UP, it auto-adds VLAN 0 via vlan_vid0_add(), which propagates VID 0 to its slave devices (slave A and B).
If a slave device is later unregistered while HSR is active (e.g., during netns cleanup or interface destruction), hsr_del_port() is called to detach the slave port from the HSR master. However, hsr_del_port() currently does not delete the VLAN IDs that were synced to the slave device by HSR.
As a result, the slave device retains a refcount on VID 0 (and any other synced VLANs). When the slave device is destroyed, its vlan_info / vlan_vid_info structure remains allocated, leading to a memory leak.
Fix this by calling vlan_vids_del_by_dev(port->dev, master->dev) in hsr_del_port() before unlinking slave A or slave B ports, matching the propagation logic in hsr_ndo_vlan_rx_add_vid() / hsr_ndo_vlan_rx_kill_vid() and the cleanup behavior in bonding and team drivers.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 72dbae1f2f2159395089405c6c54632f2613f1be < f72c312af6c7897ab0f8a2b5a63f917a207a4143 | affected |
| Linux | Linux | c707d2c5541d2bb94131968ad5dfeb06427a1dba < 21d48408479a17eb65568a765930adea37e4d804 | affected |
| Linux | Linux | 1a8a63a5305e95519de6f941922dfcd8179f82e5 < b5ded444621b6180df9f3d4e07045fc1fc1e8cd9 | affected |
| Linux | Linux | 1a8a63a5305e95519de6f941922dfcd8179f82e5 < ae995b8002d3af134560a706c0e111a89e26317c | affected |
| Linux | Linux | 1a8a63a5305e95519de6f941922dfcd8179f82e5 < dcf15eaf5641812f1cfc5e96537380132a7da89d | affected |
| Linux | Linux | 1100242709d5644856131a9dd25d32672ebe7357 | affected |
| Linux | Linux | a2accc07bdcfb0c7ab2cacdca6a1fe8267816efa | affected |
| Linux | Linux | 6.6.107 < 6.6.148 | affected |
| Linux | Linux | 6.12.48 < 6.12.101 | affected |
| Linux | Linux | 5.15.194 < 5.16 | affected |
| Linux | Linux | 6.1.153 < 6.2 | affected |
| Linux | Linux | 6.13 | affected |
| Linux | Linux | 0 < 6.13 | unaffected |
| Linux | Linux | 6.6.148 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.101 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.42 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.6 <= 7.1.* | unaffected |
| Linux | Linux | 7.2-rc5 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/f72c312af6c7897ab0f8a2b5a63f917a207a4143
- https://git.kernel.org/stable/c/21d48408479a17eb65568a765930adea37e4d804
- https://git.kernel.org/stable/c/b5ded444621b6180df9f3d4e07045fc1fc1e8cd9
- https://git.kernel.org/stable/c/ae995b8002d3af134560a706c0e111a89e26317c
- https://git.kernel.org/stable/c/dcf15eaf5641812f1cfc5e96537380132a7da89d
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.