CVE-2026-64067: netfs: Fix missing barriers when accessing stream->subrequests locklessly
In the Linux kernel, the following vulnerability has been resolved:
netfs: Fix missing barriers when accessing stream->subrequests locklessly
The list of subrequests attached to stream->subrequests is accessed without locks by netfscollectreadresults() and netfscollectwriteresults(), and then they access subreq->flags without taking a barrier after getting the subreq pointer from the list. Relatedly, the functions that build the list don't use any sort of write barrier when constructing the list to make sure that the NETFSSREQINPROGRESS flag is perceived to be set first if no lock is taken.
Fix this by:
(1) Add a new listaddtailrelease() function that uses a release barrier to set the pointer to the new member of the list.
(2) Add a new listfirstentryornullacquire() function that uses an acquire barrier to read the pointer to the first member in a list (or return NULL).
(3) Use listaddtailrelease() when adding a subreq to ->subrequests.
(4) Use listfirstentryornullacquire() when initially accessing the front of the list (when an item is removed, the pointer to the new front iterm is obtained under the same lock).
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64067?
The severity of CVE-2026-64067 is rated as critical with a CVSS score of 9.8.
How do I fix CVE-2026-64067?
To fix CVE-2026-64067, ensure you update to the latest version of the affected Linux kernel that includes the patch addressing this vulnerability.
What type of systems are affected by CVE-2026-64067?
CVE-2026-64067 affects Linux kernel implementations that utilize the netfs subsystem for handling networked filesystems.
What are the potential impacts of CVE-2026-64067?
The potential impacts of CVE-2026-64067 include unauthorized data access and the possibility of data corruption due to improper handling of locks.
What is the description of CVE-2026-64067?
CVE-2026-64067 addresses a vulnerability in the Linux kernel where subrequests are accessed locklessly, leading to the need for improved barrier implementation.