---
id: CVE-2026-64515
title: 'wifi: mac80211: fix MLE defragmentation'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: mac80211: fix MLE defragmentation

  If either reconf or EPCS multi-link element (MLE) is contained in
  a non-transmitted profile, the defragmentation routine is cal…
severity: high
cvss: 8.3
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff <
    1f573e17bcb7275ddd1c8f47f46ae0faf0e902a4
  - >-
    Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff <
    55c479aae99b120489a432db9c717484e523dfd6
  - >-
    Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff <
    722b3f86df80644463d29fe5451e30a617f74500
  - >-
    Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff <
    a74e893f30db64cdce0fc7a96d3baa417bcd55f5
  - Linux 6.9
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-16T15:41:31.140856Z'
published: '2026-07-25'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:42:38.938Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-64515'
references:
  - url: 'https://git.kernel.org/stable/c/1f573e17bcb7275ddd1c8f47f46ae0faf0e902a4'
  - url: 'https://git.kernel.org/stable/c/55c479aae99b120489a432db9c717484e523dfd6'
  - url: 'https://git.kernel.org/stable/c/722b3f86df80644463d29fe5451e30a617f74500'
  - url: 'https://git.kernel.org/stable/c/a74e893f30db64cdce0fc7a96d3baa417bcd55f5'
tags:
  - cve.org
epss: 0.00235
epssPercentile: 0.13409
ingestedAt: '2026-10-16T17:24:46.824Z'
---

## Overview

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

wifi: mac80211: fix MLE defragmentation

If either reconf or EPCS multi-link element (MLE) is contained in
a non-transmitted profile, the defragmentation routine is called
with a pointer to the defragmented copy, but the original elements.

This is incorrect for two reasons:
 - if the original defragmentation was needed, it will not find the
   correct data
 - if the original frame is at a higher address, the parsing will
   potentially overrun the heap data (though given the layout of
   the buffers, only into the new defragmentation buffer, and then
   it has to stop and fail once that's filled with copied data.

Fix it by tracking the container along with the pointer and in
doing so also unify the two almost identical defragmentation
routines.

## Affected

- `Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff < 1f573e17bcb7275ddd1c8f47f46ae0faf0e902a4`
- `Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff < 55c479aae99b120489a432db9c717484e523dfd6`
- `Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff < 722b3f86df80644463d29fe5451e30a617f74500`
- `Linux >= 4d70e9c5488dd57ff5fcabe4d4ecf3d9dd4555ff < a74e893f30db64cdce0fc7a96d3baa417bcd55f5`
- `Linux 6.9`

## Remediation

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