CVE Catalog

CVE-2026-98074

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, a vulnerability in the bonding driver involves prematurely clearing the curr_active_slave pointer when releasing all interfaces. This can lead to a promiscuous mode leak on the physical device after bond teardown.

Risk Assessment

The risk includes persistent promiscuous mode on a physical interface, which may compromise network traffic privacy and increase susceptibility to sniffing attacks.

Recommendation

It is recommended to update the Linux kernel to a version with the fix that prevents premature clearing of the pointer and ensures proper invocation of functions managing promiscuous mode.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: bonding: do not clear curr_active_slave prematurely when releasing all slaves When releasing all slaves during bond destruction (all == true), __bond_release_one() unconditionally clears bond->curr_active_slave to NULL in every iteration. If a backup slave is released before the active slave, bond_alb_deinit_slave() triggers rlb_teach_disabled_mac_on_primary(), which increments the active slave dev promiscuity counter and sets bond_info->primary_is_promisc = 1. Because bond->curr_active_slave was prematurely cleared to NULL when releasing the backup slave, the subsequent iteration releasing the active slave evaluates oldcurrent as NULL, so bond_change_active_slave(bond, NULL) is skipped. Consequently, bond_alb_handle_active_change() is never called to decrement the promiscuity counter, permanently leaking promiscuous mode on the physical device after bond teardown. When oldcurrent == slave, bond_change_active_slave(bond, NULL) already sets bond->curr_active_slave to NULL. We only need to avoid selecting a new active slave when all == true. Replace the if (all) branch with if (!all && oldcurrent == slave).

Vulnerability data from NVD (NIST) · CISA KEV · EPSS