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

  NFSv4/flexfiles: fix NULL dereference for NFSv4.0 data servers

  flexfiles accepts NFSv4.0 data servers, but two NFSv4 code paths assume
  the data server client has a ses…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  NFSv4/flexfiles: fix NULL dereference for NFSv4.0 data servers

  flexfiles accepts NFSv4.0 data servers, but two NFSv4 code paths assume
  the data server client has a ses…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a7878ca140084ec267ede48fce64d7e60f6d873e <
    163c16e01f53fc8eb8d0f3484ae6c382265ecbbd
  - >-
    Linux >= a7878ca140084ec267ede48fce64d7e60f6d873e <
    436a214514e24103159aea455147d58b44a8a585
  - >-
    Linux >= a7878ca140084ec267ede48fce64d7e60f6d873e <
    2b03ebbf8d5e8f6af4ecd6c65375232dd1ec32cc
  - Linux 4.12
published: '2026-09-17'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T18:17:44.120'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90149'
references:
  - url: 'https://git.kernel.org/stable/c/163c16e01f53fc8eb8d0f3484ae6c382265ecbbd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2b03ebbf8d5e8f6af4ecd6c65375232dd1ec32cc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/436a214514e24103159aea455147d58b44a8a585'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00576
epssPercentile: 0.46244
ingestedAt: '2026-09-17T16:21:47.877Z'
---

## Overview

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

NFSv4/flexfiles: fix NULL dereference for NFSv4.0 data servers

flexfiles accepts NFSv4.0 data servers, but two NFSv4 code paths assume
the data server client has a session. Unlike NFSv4.1+, an NFSv4.0 client
has no session (clp->cl_session is NULL; it uses clp->cl_slot_tbl), so
I/O to a v4.0 flexfiles DS oopses:

  - nfs4_init_ds_session() dereferences clp->cl_session->session_state
    while seeding the DS lease. It also only seeds cl_lease_time when
    NFS4_SESSION_INITING is set; without a session that never happens, so
    cl_lease_time stays 0 and nfs4_renew_state() busy-loops, requeuing
    every 5 seconds. Seed the lease whenever there is no session and
    return before touching session state.

  - ff_layout_async_handle_error_v4() dereferences
    clp->cl_session->fc_slot_table on every DS I/O error. Fall back to the
    v4.0 transport slot table (clp->cl_slot_tbl) when there is no session.

## Remediation

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