CVE-2026-45912
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
27/05/2026
Última modificación:
24/06/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: don&#39;t cache extent during splitting extent<br />
<br />
Caching extents during the splitting process is risky, as it may result<br />
in stale extents remaining in the status tree. Moreover, in most cases,<br />
the corresponding extent block entries are likely already cached before<br />
the split happens, making caching here not particularly useful.<br />
<br />
Assume we have an unwritten extent, and then DIO writes the first half.<br />
<br />
[UUUUUUUUUUUUUUUU] on-disk extent U: unwritten extent<br />
[UUUUUUUUUUUUUUUU] extent status tree<br />
|| ----> dio write this range<br />
<br />
First, when ext4_split_extent_at() splits this extent, it truncates the<br />
existing extent and then inserts a new one. During this process, this<br />
extent status entry may be shrunk, and calls to ext4_find_extent() and<br />
ext4_cache_extents() may occur, which could potentially insert the<br />
truncated range as a hole into the extent status tree. After the split<br />
is completed, this hole is not replaced with the correct status.<br />
<br />
[UUUUUUU|UUUUUUUU] on-disk extent U: unwritten extent<br />
[UUUUUUU|HHHHHHHH] extent status tree H: hole<br />
<br />
Then, the outer calling functions will not correct this remaining hole<br />
extent either. Finally, if we perform a delayed buffer write on this<br />
latter part, it will re-insert the delayed extent and cause an error in<br />
space accounting.<br />
<br />
In adition, if the unwritten extent cache is not shrunk during the<br />
splitting, ext4_cache_extents() also conflicts with existing extents<br />
when caching extents. In the future, we will add checks when caching<br />
extents, which will trigger a warning. Therefore, Do not cache extents<br />
that are being split.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.12 (incluyendo) | 5.10.252 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.202 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.165 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.128 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.75 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.14 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 6.19.4 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/4c2d9dac4d328244f9365b0a1fa27ec802821820
- https://git.kernel.org/stable/c/5b1f4290453314e11cd8e15c7baa8a9b76c19b23
- https://git.kernel.org/stable/c/692103feca376ae4298c92aa8828015d20f1d87b
- https://git.kernel.org/stable/c/8302b5b4aacdbb378f7b1216bb2ee782b5142415
- https://git.kernel.org/stable/c/8b4b19a2f96348d70bfa306ef7d4a13b0bcbea79
- https://git.kernel.org/stable/c/93b2ebbbcb2e63cfc21a1946dfe91d3aa7952036
- https://git.kernel.org/stable/c/96007fd3c106aea773c1afae2d6f64cceb6da208
- https://git.kernel.org/stable/c/9a2b95cdaf07785e2739199037bd9c0863ccc1be



