CVE-2026-46086 PUBLISHED

net: bridge: use a stable FDB dst snapshot in RCU readers

Assigner: Linux
Reserved: 13.05.2026 Published: 27.05.2026 Updated: 27.05.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 960b589f86c74ce582922fcb996103271081f4de to 0b9e4bbfb7c949151e3acd44ed4aa33614d2e110 (excl.)
  • affected from 960b589f86c74ce582922fcb996103271081f4de to 81af4137a30c4c2dc694dea8cacb180bd66000ef (excl.)
  • affected from 960b589f86c74ce582922fcb996103271081f4de to 5424e678f9b304e148cf5dcc047cffc7a56a3bb5 (excl.)
  • affected from 960b589f86c74ce582922fcb996103271081f4de to 9a2d9d4e657b23dc21f24cf139e3aeff0b61341f (excl.)
  • affected from 960b589f86c74ce582922fcb996103271081f4de to df4601653201de21b487c3e7fffd464790cab808 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.14 is affected
  • unaffected from 0 to 3.14 (excl.)
  • unaffected from 6.6.140 to 6.6.* (incl.)
  • unaffected from 6.12.86 to 6.12.* (incl.)
  • unaffected from 6.18.27 to 6.18.* (incl.)
  • unaffected from 7.0.4 to 7.0.* (incl.)
  • unaffected from 7.1-rc1 to * (incl.)

References