NFSv4/flexfiles: fix NULL dereference for NFSv4.0 data servers
CVE-2026-90149 · published 17 Sept 2026
How serious is it
- Severity: high, CVSS score 7.5 out of 10.
- No exploit prediction (EPSS) score yet.
- Not on the CISA list of exploited vulnerabilities.
- No public exploit in Exploit-DB.
Is your app affected by CVE-2026-90149?
Paste this prompt into Claude Code, Cursor or any AI coding tool: it runs a free Shippable scan of your project and fixes what it finds. Built with Lovable, Bolt or v0? Scan your live app. Or upload your package file.
Who is affected
- Linux Linux: a7878ca140084ec267ede48fce64d7e60f6d873e to < 336b6da10021c69a8f273bbacdf7432fdc89a06f, a7878ca140084ec267ede48fce64d7e60f6d873e to < 5527af72b0100c94287bfec901b6313eeac567ca, a7878ca140084ec267ede48fce64d7e60f6d873e to < 163c16e01f53fc8eb8d0f3484ae6c382265ecbbd, a7878ca140084ec267ede48fce64d7e60f6d873e to < 436a214514e24103159aea455147d58b44a8a585
- Linux Linux: 4.12
How to check
- Find out whether you run the affected product and which version, then compare it with the versions above.
How to fix
Copies a prompt for Claude Code, Cursor or Codex that asks it to check whether you run this product.
- Apply the vendor's update or mitigation from the references below. If there is none yet, limit exposure of the affected service until there is.
- If a vulnerable version was live, check your logs and rotate the secrets that server could read.
The advisory
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.
Check your whole app
Dependencies are only half of it. Free and read-only: before you push, run npx shippable-dev scan localhost:3000 in your project folder, no account needed. For your live app, you prove it's yours with a one-line tag first.
References
- git.kernel.org/stable/c/336b6da10021c69a8f273bbacdf7432fdc89a06f
- git.kernel.org/stable/c/5527af72b0100c94287bfec901b6313eeac567ca
- git.kernel.org/stable/c/163c16e01f53fc8eb8d0f3484ae6c382265ecbbd
- git.kernel.org/stable/c/436a214514e24103159aea455147d58b44a8a585
- git.kernel.org/stable/c/2b03ebbf8d5e8f6af4ecd6c65375232dd1ec32cc
Merged from CVE List. Last updated 26 Oct 2026. All vulnerabilities · RSS · JSON