KernelScan.io

HIGH Introduced in 4.12

nfs flexfiles Deref

CVE-2026-90149

CVSS 7.5 / 10.0 NVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

KernelScan AI7.5HIGH

01

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.

02

Engine v0.6.0

Risk summary

A remote attacker can trigger a kernel panic by performing I/O to an NFSv4.0 flexfiles data server, causing a NULL pointer dereference. This results in denial of service with no confidentiality or integrity impact.

Affectedfs/nfs/flexfilelayout/flexfilelayout.c, fs/nfs/nfs4session.c (NFSv4 flexfiles)

Vulnerability analysis

The NFSv4 flexfiles driver assumes data server clients always have a session (NFSv4.1+), but NFSv4.0 clients do not. Two code paths dereference the NULL session pointer: one during DS lease initialization and one on every DS I/O error. The fix checks for a NULL session and falls back to the v4.0 transport slot table, and seeds the lease time unconditionally when no session exists. This is reachable from a network client performing I/O against a flexfiles data server configured for NFSv4.0.

03

BranchIntroducedFixed inPatch commit
6.124.126.12.1145527af72b010
6.184.126.18.52163c16e01f53
6.64.126.6.160336b6da10021
7.24.127.2.6436a214514e2
mainline4.127.32b03ebbf8d5e

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Affected — no CIP fix yet (latest 6.12.112-cip33)
cip/6.1Affected — no CIP fix yet (latest 6.1.189-cip61)
cip/6.1-rtAffected — no CIP fix yet (latest 6.1.189-cip61-rt32)
cip/5.10Affected — no CIP fix yet (latest 5.10.271-cip78)
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)