Skip to content
CVE PROGRAM SOURCE RECORD7.1 High

CVE-2026-64298

NFSv4: include MAY_WRITE in open permission mask for O_TRUNC

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < 4817c8974315b666e895b7d1bb83cd3664c323b1affected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < cb148a2762d644bff1894728e8835a9a4b84f9eaaffected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < 30fdf4df6c3c00efec947e4ddf97f0fdd4473628affected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < 22c1fd1355ad4ca27aa7f0fa02719122dd92d9deaffected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < 6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230affected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < a937e92c1d00534b5c2e3e9f4381b7e988180797affected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < e36501b7d4abdcd6d69a7cb901b2f286b7a3d041affected
  • af22f94ae02ab9dd4fd7fe628c8434a59cc293be to < 5140f099ecd8a2f2808b7f7b720ee1bad8468974affected

Linux Linux

Default version status: affected

  • 2.6.24affected
  • 0 to < 2.6.24unaffected
  • 5.10.261 to ≤ 5.10.*unaffected
  • 5.15.212 to ≤ 5.15.*unaffected
  • 6.1.178 to ≤ 6.1.*unaffected
  • 6.6.145 to ≤ 6.6.*unaffected
  • 6.12.96 to ≤ 6.12.*unaffected
  • 6.18.39 to ≤ 6.18.*unaffected
  • 7.1.4 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References