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

  NFSD: Prevent client use-after-free during blocked-lock reaping

  A bare lock owner -- its only remaining reference a blocked lock on
  nn->blocked_locks_lru -- holds a ra…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  NFSD: Prevent client use-after-free during blocked-lock reaping

  A bare lock owner -- its only remaining reference a blocked lock on
  nn->blocked_locks_lru -- holds a ra…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 7919d0a27f1e7cb324e023776aa1cbff00f1ee7b <
    cd489b03587378645fe0d20142a33f1ed60bac98
  - >-
    Linux >= 7919d0a27f1e7cb324e023776aa1cbff00f1ee7b <
    6fedb2eaff77554ca7a0deffd2e8bc0d6e8b38b0
  - >-
    Linux >= 7919d0a27f1e7cb324e023776aa1cbff00f1ee7b <
    9026932ac8be4d0ae01db47f23619a98cc57b671
  - Linux 4.9
published: '2026-09-16'
updated: '2026-09-21'
sourceUpdated: '2026-09-21T14:17:27.843'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90036'
references:
  - url: 'https://git.kernel.org/stable/c/6fedb2eaff77554ca7a0deffd2e8bc0d6e8b38b0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7081224a59a0ca4edcd62c068588f4d900199a18'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9026932ac8be4d0ae01db47f23619a98cc57b671'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/cd489b03587378645fe0d20142a33f1ed60bac98'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/0d53a47c913d0bce3b5ec35c28cbcca4d015f33d'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-90036.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-90036'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2535158'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-90036'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90036'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-90036.mbox
  - url: 'https://access.redhat.com/errata/RHSA-2026:83207'
  - url: 'https://access.redhat.com/errata/RHSA-2026:83156'
  - url: 'https://access.redhat.com/errata/RHSA-2026:83157'
  - url: 'https://access.redhat.com/errata/RHSA-2026:83159'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00484
epssPercentile: 0.41521
ingestedAt: '2026-09-16T10:53:53.934Z'
patched:
  - 10base_smtv
  - enterprise_linux_appstream_v_10
  - enterprise_linux_appstream_v_9
  - enterprise_linux_baseos_v_10
  - enterprise_linux_baseos_v_8
  - enterprise_linux_baseos_v_9
  - enterprise_linux_codeready_linux_builder_v_10
  - enterprise_linux_crb_v_8
  - enterprise_linux_codeready_linux_builder_v_9
  - enterprise_linux_hidden_v_10
  - enterprise_linux_real_time_for_nfv_v_10
  - enterprise_linux_nfv_v_8
  - enterprise_linux_real_time_for_nfv_v_9
  - enterprise_linux_real_time_v_10
  - enterprise_linux_rt_v_8
  - enterprise_linux_real_time_v_9
cwe:
  - CWE-825
scores:
  nvd: 9.8
  vendor: 8.8
---

## Overview

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

NFSD: Prevent client use-after-free during blocked-lock reaping

A bare lock owner -- its only remaining reference a blocked lock on
nn->blocked_locks_lru -- holds a raw pointer to its nfs4_client but
no reference keeping the client alive. When the per-net laundromat
reaps such a lock, freeing the nbl drops the owner reference
held through flc_owner, and the final nfs4_put_stateowner()
takes the client's cl_lock. Because the laundromat detaches the
nbl first, __destroy_client() no longer finds it, so a concurrent
force_expire_client() can free the client before nfs4_put_stateowner()
runs, dereferencing cl_lock in freed memory.

Pin the client with cl_rpc_users before dropping
nn->blocked_locks_lock, and skip clients already expiring, whose
blocked locks __destroy_client() frees while holding an owner
reference. Take nn->client_lock outside nn->blocked_locks_lock.
Every other site holds nn->blocked_locks_lock as a leaf, acquiring
no further lock, so placing nn->client_lock outside it cannot form
a lock-order cycle.

## Remediation

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

## Vendor advisories

- **RHSA-2026:83207** · Red Hat · fixed in: 10Base-SMTV, Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux BaseOS (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10), Red Hat Enterprise Linux Hidden (v. 10), Red Hat Enterprise Linux Real Time for NFV (v. 10), … · released 2026-10-15 · [advisory](https://access.redhat.com/errata/RHSA-2026:83207)
- **RHSA-2026:83156** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9), Red Hat Enterprise Linux Real Time for NFV (v. 9), Red Hat Enterprise Linux Real Time (v. 9) · released 2026-10-14 · [advisory](https://access.redhat.com/errata/RHSA-2026:83156)
- **RHSA-2026:83157** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS (v. 8), Red Hat Enterprise Linux CRB (v. 8) · released 2026-10-14 · [advisory](https://access.redhat.com/errata/RHSA-2026:83157)
- **RHSA-2026:83159** · Red Hat · fixed in: Red Hat Enterprise Linux NFV (v. 8), Red Hat Enterprise Linux RT (v. 8) · released 2026-10-14 · [advisory](https://access.redhat.com/errata/RHSA-2026:83159)
- **Red Hat VEX** · Important · affected: Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4, Red Hat Enterprise Linux 6 · no fix planned: Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · updated 2026-10-25 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-90036.json)
