---
id: CVE-2026-89951
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  batman-adv: fix stale receive device on merged fragments

  Fragment reassembly reuses the skb from the highest-numbered buffered
  fragment as the merged packet
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  batman-adv: fix stale receive device on merged fragments

  Fragment reassembly reuses the skb from the highest-numbered buffered
  fragment as the merged packet. When that…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    63d86250fa7cbe22451369bd1c0881dfc8190958
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    f830c2dfc1431764db9256b3d5db1695fc9a7f56
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    f4b4ae763b5d59319fad62a00c76676758e7dafa
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    6df64825f8b199921120c685af2abca14b077331
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    a2c272da99c2077088083c14961cf2f1e4506995
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    e91d2cc7441d89a45bad73ad9789159c7441cb80
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    2dffc8c44b6e3347b3719c6419c07b4a18fea895
  - >-
    Linux >= 610bfc6bc99bc83680d190ebc69359a05fc7f605 <
    ad46c907d7d9975a285c1e89a4adde652eaa93f5
  - Linux 3.13
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:19.990'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89951'
references:
  - url: 'https://git.kernel.org/stable/c/2dffc8c44b6e3347b3719c6419c07b4a18fea895'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/63d86250fa7cbe22451369bd1c0881dfc8190958'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6df64825f8b199921120c685af2abca14b077331'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a2c272da99c2077088083c14961cf2f1e4506995'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ad46c907d7d9975a285c1e89a4adde652eaa93f5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e91d2cc7441d89a45bad73ad9789159c7441cb80'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f4b4ae763b5d59319fad62a00c76676758e7dafa'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f830c2dfc1431764db9256b3d5db1695fc9a7f56'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.964Z'
epss: 0.00412
epssPercentile: 0.32672
---

## Overview

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

batman-adv: fix stale receive device on merged fragments

Fragment reassembly reuses the skb from the highest-numbered buffered
fragment as the merged packet. When that fragment was received on a hard
interface which is deleted before the chain completes, the merged skb can
re-enter the receive path with a stale skb->dev and skb_iif.

batadv_batman_skb_recv() passes such merged packets through the normal
receive handlers again. DAT and bridge loop avoidance both derive the ARP
header length from skb->dev, so they can dereference the freed net_device
before the packet reaches the local mesh interface.

Refresh the receive device metadata from the current receive device before
running the packet handlers. This keeps internally reinjected merged
fragments consistent with the normal receive path after hard interface
teardown.

## Remediation

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