CVE-2026-98301
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: bridge: mst: move switchdev call outside rcu
This is a follow-up of one of sashiko's pre-existing bug reports. br_mst_set_state() calls switchdev_port_attr_set() for nonzero MSTIs while holding rcu_read_lock() which invokes the blocking switchdev notifier chain and may sleep. Nonzero MSTI changes come from netlink with rtnl held. Move the switchdev call before entering the rcu section and assert that rtnl is held.
The call cannot be deferred because netlink needs its error and extack. Also DSA reads the old bridge MST state during the callback and checks it. A deferred callback will be late and will see the updated state.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 8ca9a750fc711911ef616ceb627d07357b04545e < b9661fd2423fc25e91e0517ecc0b6156ad83e3a8 | affected |
| Linux | Linux | 4488617e5e995a09abe4d81add5fb165674edb59 < 6b431b63219853eef4054e2f1cb073d2ca2059b4 | affected |
| Linux | Linux | 3a7c1661ae1383364cd6092d851f5e5da64d476b < abf734d150c61acfdfee102169d0e5d1c482e285 | affected |
| Linux | Linux | 3a7c1661ae1383364cd6092d851f5e5da64d476b < d5c4ee1fa4e83a12afc051c831936cd8e006cde3 | affected |
| Linux | Linux | 3a7c1661ae1383364cd6092d851f5e5da64d476b < c40ed3e884c8dc0350f26484030438ef24208ff1 | affected |
| Linux | Linux | 3a7c1661ae1383364cd6092d851f5e5da64d476b < 18a6fe05fb6e18de29fa90d388bb34044114b3d8 | affected |
| Linux | Linux | a2b01e65d9ba8af2bb086d3b7288ca53a07249ac | affected |
| Linux | Linux | e43dd2b1ec746e105b7db5f9ad6ef14685a615a4 | affected |
| Linux | Linux | 6.1.93 < 6.1.189 | affected |
| Linux | Linux | 6.6.33 < 6.6.158 | affected |
| Linux | Linux | 6.8.12 < 6.9 | affected |
| Linux | Linux | 6.9.3 < 6.10 | affected |
| Linux | Linux | 6.10 | affected |
| Linux | Linux | 0 < 6.10 | unaffected |
| Linux | Linux | 6.1.189 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.158 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.112 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.54 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.8 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/b9661fd2423fc25e91e0517ecc0b6156ad83e3a8
- https://git.kernel.org/stable/c/6b431b63219853eef4054e2f1cb073d2ca2059b4
- https://git.kernel.org/stable/c/abf734d150c61acfdfee102169d0e5d1c482e285
- https://git.kernel.org/stable/c/d5c4ee1fa4e83a12afc051c831936cd8e006cde3
- https://git.kernel.org/stable/c/c40ed3e884c8dc0350f26484030438ef24208ff1
- https://git.kernel.org/stable/c/18a6fe05fb6e18de29fa90d388bb34044114b3d8
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.