CVE-2026-46086
Awaiting Analysis Awaiting Analysis - Queue
Linux Kernel Bridge FDB NULL Pointer Dereference

Publication date: 2026-05-27

Last updated on: 2026-05-27

Assigner: kernel.org

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-27
Last Modified
2026-05-27
Generated
2026-05-27
AI Q&A
2026-05-27
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux_kernel linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's network bridge code, specifically in how local Forwarding Database (FDB) entries are handled. Local FDB entries can be updated in place by the function fdb_delete_local(), which changes a pointer (f->dst) to another port or to NULL while keeping the entry alive.

Several bridge RCU readers inspect this pointer (f->dst) multiple times without taking a stable snapshot, which can lead to inconsistent values being observed during concurrent updates. In particular, the function br_fdb_fillbuf() can see f->dst change after a NULL check but before dereferencing, causing a NULL pointer dereference.

The fix involves taking a single stable snapshot of f->dst using READ_ONCE() in each affected reader and using WRITE_ONCE() in the updater to ensure consistent access patterns, preventing the inconsistent observations and the resulting NULL pointer dereference.


How can this vulnerability impact me? :

This vulnerability can cause a NULL pointer dereference in the Linux kernel's network bridge code, which may lead to a kernel crash or denial of service (DoS) condition.

Since the issue arises from concurrent access to local FDB entries, an attacker with local access might be able to trigger this condition, potentially disrupting network functionality on the affected system.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability has been resolved by updating the Linux kernel to fix the handling of local FDB entries in bridge RCU readers. To mitigate this vulnerability, you should update your Linux kernel to a version that includes the fix for this issue.

  • Apply the kernel patch that uses READ_ONCE() and WRITE_ONCE() for stable access to f->dst in bridge RCU readers.
  • Restart the system after updating the kernel to ensure the fix is active.

Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart