CVE-2026-46086 In the Linux kernel, the following vulnerability has been resolved: net: bridge: use a stable FDB dst snapshot in RCU…
Description
In the Linux kernel, the following vulnerability has been resolved: net: bridge: use a stable FDB dst snapshot in RCU readers Local FDB entries can be rewritten in place by `fdb_delete_local()`, which updates `f->dst` to another port or to `NULL` while keeping the entry alive. Several bridge RCU readers inspect `f->dst`, including `br_fdb_fillbuf()` through the `brforward_read()` sysfs path. These readers currently load `f->dst` multiple times and can therefore observe inconsistent values across the check and later dereference. In `br_fdb_fillbuf()`, this means a concurrent local-FDB update can change `f->dst` after the NULL check and before the `port_no` dereference, leading to a NULL-ptr-deref. Fix this by taking a single `READ_ONCE()` snapshot of `f->dst` in each affected RCU reader and using that snapshot for the rest of the access sequence. Also publish the in-place `f->dst` updates in `fdb_delete_local()` with `WRITE_ONCE()` so the readers and writer use matching access patterns.
Affected products and versions
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux 7.1 | earliest → < 7.1 | 7.1 |
| Linux 7.0 | earliest → < 7.0.4 | 7.0.4 |
| Linux 6.18 | earliest → < 6.18.27 | 6.18.27 |
| Linux 6.12 | earliest → < 6.12.86 | 6.12.86 |
| Linux 6.6 | earliest → < 6.6.140 | 6.6.140 |
| Linux 6.1 | earliest → < 6.1.176 | 6.1.176 |
| Linux 5.15 | earliest → < 5.15.210 | 5.15.210 |
| Linux 5.10 | earliest → < 5.10.259 | 5.10.259 |
| Linux | 3.14 | No fix stated |
Show the 4 other branches Hide the 4 other branches
| Product | Affected versions | Fixed in |
|---|---|---|
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP 3.1 | 3.1.7 → latest | No fix stated |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP 3.1 | 3.1.7 → latest | No fix stated |
| SIPLUS S7-1500 CPU 1518-4 PN/DP MFP 3.1 | 3.1.7 → latest | No fix stated |
| SIMATIC S7-1500 TM MFP - GNU/Linux subsystem | Versions not published |
References
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
Timeline
- Published
- Last modified