---
id: CVE-2026-89710
title: 'NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path

  When the server returns a new layout stateid while a valid one is still
  held, pnfs_layout_pro…
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'
cvssSource: vendor
cwe:
  - CWE-772
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    f52188118d319b47d49ee91a897f6afda4879c59
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    ad3e41855325e55623276660ef20fbc3b8ba087f
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    a080bb69d30f11738d753a60d1eb733d627c2093
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    7c5b0e813efd9124760d5fd1bfc6b229f03fb1a2
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    36e3f13bf0728f4ce11ee8904cec82a783222f62
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    32ac1b0b7f1cfa0d1a1faf9c72f4154046101070
  - >-
    Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f <
    ee5a386cfe60f3f8286de16a9db8e1a08f0bc124
  - Linux 5.13
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:51:23.214Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89710'
references:
  - url: 'https://git.kernel.org/stable/c/f52188118d319b47d49ee91a897f6afda4879c59'
  - url: 'https://git.kernel.org/stable/c/ad3e41855325e55623276660ef20fbc3b8ba087f'
  - url: 'https://git.kernel.org/stable/c/a080bb69d30f11738d753a60d1eb733d627c2093'
  - url: 'https://git.kernel.org/stable/c/7c5b0e813efd9124760d5fd1bfc6b229f03fb1a2'
  - url: 'https://git.kernel.org/stable/c/36e3f13bf0728f4ce11ee8904cec82a783222f62'
  - url: 'https://git.kernel.org/stable/c/32ac1b0b7f1cfa0d1a1faf9c72f4154046101070'
  - url: 'https://git.kernel.org/stable/c/ee5a386cfe60f3f8286de16a9db8e1a08f0bc124'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89710.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89710'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532139'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89710'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89710'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89710.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00173
epssPercentile: 0.0665
ingestedAt: '2026-09-14T15:23:07.449Z'
---

## Overview

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

NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path

When the server returns a new layout stateid while a valid one is still
held, pnfs_layout_process() calls pnfs_mark_matching_lsegs_return() on
the on-stack free_me list and jumps to out_forget. Segments whose
reference count drops to zero are unlinked from lo->plh_segs and moved
to free_me by mark_lseg_invalid(); for an idle cached segment the layout
header holds the only reference, so this happens on the first decrement.

out_forget never drains free_me -- only the success path calls
pnfs_free_lseg_list().

Commit 814b84971388 ("pNFS/NFSv4: Fix a layout segment leak in
pnfs_layout_process()") added the drain; commit 08bd8dbe8882
("pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()")
removed it while switching the destination to lo->plh_return_segs, which
is drained elsewhere. Commit fb700ef02676 ("NFSv4.1: Simplify layout
return in pnfs_layout_process()") switched the destination back to
free_me without restoring the drain.

Restore the pnfs_free_lseg_list() call.

## Affected

- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < f52188118d319b47d49ee91a897f6afda4879c59`
- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < ad3e41855325e55623276660ef20fbc3b8ba087f`
- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < a080bb69d30f11738d753a60d1eb733d627c2093`
- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < 7c5b0e813efd9124760d5fd1bfc6b229f03fb1a2`
- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < 36e3f13bf0728f4ce11ee8904cec82a783222f62`
- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < 32ac1b0b7f1cfa0d1a1faf9c72f4154046101070`
- `Linux >= fb700ef026766c95578aafc0db1b208946e7ad4f < ee5a386cfe60f3f8286de16a9db8e1a08f0bc124`
- `Linux 5.13`

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Low · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, … · updated 2026-10-06 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89710.json)
