CVE-2026-64031CWE-362

CVE-2026-64031

High · published July 19, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
0.8
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

erofs: fix managed cache race for unaligned extents

After unaligned compressed extents were introduced, the following race

could occur:

[Thread 1] [Thread 2]

(z_erofs_fill_bio_vec)

<handle a Z_EROFS_PREALLOCATED_FOLIO folio>

...

filemap_add_folio (1)

(z_erofs_bind_cache)

<the same folio is found..>

..

..

folio_attach_private (2)

filemap_add_folio (3) again

Since (1) is executed but (2) hasn't been executed yet, it's possible

that another thread finds the same managed folio in z_erofs_bind_cache()

for a different pcluster and calls filemap_add_folio() again since

folio->private is still Z_EROFS_PREALLOCATED_FOLIO.

Fix this by explicitly clearing folio->private before making the folio

visible in the managed cache so that another pcluster can simply wait

on the locked managed folio as what we did for other shared cases [1].

This only impacts unaligned data compression (`-E48bit` with zstd,

for example).

[1] Commit 9e2f9d34dd12 ("erofs: handle overlapped pclusters out of

crafted images properly") was originally introduced to handle crafted

overlapped extents, but it addresses unaligned extents as well.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00099 · 0.8th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-07-19T20:17Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 6.15, < 6.18.346.18.34
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 19 JUL 15:39Z
    erofs: fix managed cache race for unaligned extents
    cvelistv5