---
id: CVE-2026-98699
title: 'wifi: mac80211: fix mesh fast xmit path deletion UAF'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: mac80211: fix mesh fast xmit path deletion UAF

  mesh_fast_tx_cache() stores raw mesh_path pointers. Path deletion
  flushes the cache and then frees the path with k…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 <
    0117f1aa189495e6f1ff608681678817995aee39
  - >-
    Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 <
    128e800a41270ab197b1cc8043637a2924865608
  - >-
    Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 <
    93da3ec938bfdcfb3899428f04c6d0c56fe32952
  - >-
    Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 <
    ee3aadc43ea69d98f666431e787137ac0badbb85
  - Linux 6.4
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:46:29.245Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98699'
references:
  - url: 'https://git.kernel.org/stable/c/0117f1aa189495e6f1ff608681678817995aee39'
  - url: 'https://git.kernel.org/stable/c/128e800a41270ab197b1cc8043637a2924865608'
  - url: 'https://git.kernel.org/stable/c/93da3ec938bfdcfb3899428f04c6d0c56fe32952'
  - url: 'https://git.kernel.org/stable/c/ee3aadc43ea69d98f666431e787137ac0badbb85'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.516Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

wifi: mac80211: fix mesh fast xmit path deletion UAF

mesh_fast_tx_cache() stores raw mesh_path pointers. Path deletion
flushes the cache and then frees the path with kfree_rcu(), but a
lookup that already holds the path can insert a new cache entry
after the flush. The cache then points at freed memory.

Set MESH_PATH_DELETED before flushing, and skip inserting a cache
entry if the path or MPP path is already deleted. Check this under
the cache walk lock so it is ordered with the flush. Use WRITE_ONCE()
for the deletion flag updates because the cache check reads flags
without taking state_lock.

## Affected

- `Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 < 0117f1aa189495e6f1ff608681678817995aee39`
- `Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 < 128e800a41270ab197b1cc8043637a2924865608`
- `Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 < 93da3ec938bfdcfb3899428f04c6d0c56fe32952`
- `Linux >= d5edb9ae8d568745f893c5c5fa3837d85311b131 < ee3aadc43ea69d98f666431e787137ac0badbb85`
- `Linux 6.4`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
