CVE-2026-72389

Summary

In the Linux kernel, the following vulnerability has been resolved:

bridge: stp: Fix a potential use-after-free when deleting a bridge

The three STP timers are not supposed to be armed while the bridge is administratively down. They are synchronously deactivated when the bridge is put administratively down and the various call sites check for 'IFF_UP' before arming them.

This check is missing from br_topology_change_detection() and it is possible to engineer a situation in which the topology change timer is armed while the bridge is administratively down, resulting in a use-after-free [1] when the bridge is deleted.

Fix by adding the missing check and for good measures synchronously shutdown the three timers when the bridge is deleted.

[1] ODEBUG: free active (active state 0) object: ffff88811662b9b0 object type: timer_list hint: br_topology_change_timer_expired (net/bridge/br_stp_timer.c:120) WARNING: lib/debugobjects.c:629 at debug_print_object+0x1bc/0x450, CPU#9: ip/359

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < c86579b0a2d201792bcb59316629f4ba4758cfc8affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 297a747f59bff6573196d7236178144d66524e68affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 4c40eec06eeac37c58e47a6058eb32901218d5d4affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 39283907a25e5caf0f2bd2947f6e56644b01e2b7affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < b4b3458ef88df4798632619f018791d4344bcd92affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 40cbfa3a28e0919469d1b086629bb3ce38a83593affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 2a00517db8de4be7df3d483b215c5544fb30a191affected
LinuxLinux2.6.12affected
LinuxLinux0 < 2.6.12unaffected
LinuxLinux5.15.212 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References