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.
INFO
Published Date :
July 25, 2026, 10:17 a.m.
Last Modified :
Aug. 17, 2026, 5:17 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Include MAY_WRITE in open permission mask when O_TRUNC is set.
- Verify access is authorized for write operations before truncating.
- Update the Linux kernel to the latest version.
- Apply relevant security patches.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-64298.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-64298 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-64298
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-64298 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-64298 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '4817c8974315b666e895b7d1bb83cd3664c323b1', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'cb148a2762d644bff1894728e8835a9a4b84f9ea', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '30fdf4df6c3c00efec947e4ddf97f0fdd4473628', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '22c1fd1355ad4ca27aa7f0fa02719122dd92d9de', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'a937e92c1d00534b5c2e3e9f4381b7e988180797', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'e36501b7d4abdcd6d69a7cb901b2f286b7a3d041', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '5140f099ecd8a2f2808b7f7b720ee1bad8468974', 'versionType': 'git'}], 'programFiles': ['fs/nfs/dir.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '2.6.24'}, {'status': 'unaffected', 'version': '0', 'lessThan': '2.6.24', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/nfs/dir.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '4817c8974315b666e895b7d1bb83cd3664c323b1', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'cb148a2762d644bff1894728e8835a9a4b84f9ea', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '30fdf4df6c3c00efec947e4ddf97f0fdd4473628', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '22c1fd1355ad4ca27aa7f0fa02719122dd92d9de', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'a937e92c1d00534b5c2e3e9f4381b7e988180797', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'e36501b7d4abdcd6d69a7cb901b2f286b7a3d041', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '5140f099ecd8a2f2808b7f7b720ee1bad8468974', 'versionType': 'git'}], 'programFiles': ['fs/nfs/dir.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '2.6.24'}, {'status': 'unaffected', 'version': '0', 'lessThan': '2.6.24', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/nfs/dir.c'], 'defaultStatus': 'affected'}] -
Initial Analysis by [email protected]
Aug. 12, 2026
Action Type Old Value New Value Added CWE NVD-CWE-noinfo Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.212 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.178 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.145 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.96 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.39 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.1.4 *cpe:2.3:o:linux:linux_kernel:7.2:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.2:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 2.6.24 up to (excluding) 5.10.261 Added Reference Type kernel.org: https://git.kernel.org/stable/c/22c1fd1355ad4ca27aa7f0fa02719122dd92d9de Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/30fdf4df6c3c00efec947e4ddf97f0fdd4473628 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/4817c8974315b666e895b7d1bb83cd3664c323b1 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/5140f099ecd8a2f2808b7f7b720ee1bad8468974 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/a937e92c1d00534b5c2e3e9f4381b7e988180797 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/cb148a2762d644bff1894728e8835a9a4b84f9ea Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/e36501b7d4abdcd6d69a7cb901b2f286b7a3d041 Types: Patch -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 27, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 25, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '4817c8974315b666e895b7d1bb83cd3664c323b1', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'cb148a2762d644bff1894728e8835a9a4b84f9ea', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '30fdf4df6c3c00efec947e4ddf97f0fdd4473628', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '22c1fd1355ad4ca27aa7f0fa02719122dd92d9de', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'a937e92c1d00534b5c2e3e9f4381b7e988180797', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': 'e36501b7d4abdcd6d69a7cb901b2f286b7a3d041', 'versionType': 'git'}, {'status': 'affected', 'version': 'af22f94ae02ab9dd4fd7fe628c8434a59cc293be', 'lessThan': '5140f099ecd8a2f2808b7f7b720ee1bad8468974', 'versionType': 'git'}], 'programFiles': ['fs/nfs/dir.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '2.6.24'}, {'status': 'unaffected', 'version': '0', 'lessThan': '2.6.24', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/nfs/dir.c'], 'defaultStatus': 'affected'}] Added 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. Added Reference https://git.kernel.org/stable/c/22c1fd1355ad4ca27aa7f0fa02719122dd92d9de Added Reference https://git.kernel.org/stable/c/30fdf4df6c3c00efec947e4ddf97f0fdd4473628 Added Reference https://git.kernel.org/stable/c/4817c8974315b666e895b7d1bb83cd3664c323b1 Added Reference https://git.kernel.org/stable/c/5140f099ecd8a2f2808b7f7b720ee1bad8468974 Added Reference https://git.kernel.org/stable/c/6bd7d0a06b53c4e797e1a9cea0d2d41aa1b26230 Added Reference https://git.kernel.org/stable/c/a937e92c1d00534b5c2e3e9f4381b7e988180797 Added Reference https://git.kernel.org/stable/c/cb148a2762d644bff1894728e8835a9a4b84f9ea Added Reference https://git.kernel.org/stable/c/e36501b7d4abdcd6d69a7cb901b2f286b7a3d041