---
id: CVE-2026-46086
title: |-
  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 o…
summary: |-
  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 o…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-476
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 3.14.1, < 5.10.259'
  - 'linux_kernel >= 5.11, < 5.15.210'
  - 'linux_kernel >= 5.16, < 6.1.176'
  - 'linux_kernel >= 6.2, < 6.6.140'
  - 'linux_kernel >= 6.7, < 6.12.86'
  - 'linux_kernel >= 6.13, < 6.18.27'
  - 'linux_kernel >= 6.19, < 7.0.4'
  - linux_kernel = 3.14
patched:
  - linux_kernel 7.0.4
published: '2026-05-27'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T09:18:07.390'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-46086'
references:
  - url: 'https://git.kernel.org/stable/c/0b9e4bbfb7c949151e3acd44ed4aa33614d2e110'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/1406c4e0ed1eaf8a29801ab1163d00fb7ee4359a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5424e678f9b304e148cf5dcc047cffc7a56a3bb5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/81af4137a30c4c2dc694dea8cacb180bd66000ef'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9a2d9d4e657b23dc21f24cf139e3aeff0b61341f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a6ae4511c07b91f597e461406c6330f0d4ff810e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c502fa9f094cb03d1d1685c71e2105ab359bc2b8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/df4601653201de21b487c3e7fffd464790cab808'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-019113.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00125
epssPercentile: 0.02561
ingestedAt: '2026-09-08T13:33:24.435Z'
---

## Overview

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

- `linux_kernel >= 3.14.1, < 5.10.259`
- `linux_kernel >= 5.11, < 5.15.210`
- `linux_kernel >= 5.16, < 6.1.176`
- `linux_kernel >= 6.2, < 6.6.140`
- `linux_kernel >= 6.7, < 6.12.86`
- `linux_kernel >= 6.13, < 6.18.27`
- `linux_kernel >= 6.19, < 7.0.4`
- `linux_kernel = 3.14`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.0.4`
