CVE-2026-53154
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/06/2026
Última modificación:
07/07/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm/hugetlb: restore reservation on error in hugetlb folio copy paths<br />
<br />
Two sites in mm/hugetlb.c allocate a hugetlb folio via<br />
alloc_hugetlb_folio() (consuming a VMA reservation) and then call<br />
copy_user_large_folio(), which became int-returning in commit 1cb9dc4b475c<br />
("mm: hwpoison: support recovery from HugePage copy-on-write faults") and<br />
can now fail (e.g. -EHWPOISON on a hwpoisoned source page). On the<br />
failure path, folio_put() restores the global hugetlb pool count through<br />
free_huge_folio(), but the per-VMA reservation map entry is left marked<br />
consumed:<br />
<br />
- hugetlb_mfill_atomic_pte() resubmission path (UFFDIO_COPY)<br />
- copy_hugetlb_page_range() fork-time CoW path when<br />
hugetlb_try_dup_anon_rmap() fails (rare: pinned hugetlb anon<br />
folio under fork)<br />
<br />
User-visible effect: on UFFDIO_COPY into a private hugetlb VMA where the<br />
resubmission copy fails, the reservation for that address is leaked from<br />
the VMA&#39;s reserve map. A subsequent fault at the same address takes the<br />
no-reservation path, and under hugetlb pool pressure the task is SIGBUSed<br />
at an address it had previously reserved. The fork-time CoW path leaks<br />
the same way in the child VMA&#39;s reserve map, though it requires the much<br />
rarer combination of pinned hugetlb anon page + hwpoisoned source.<br />
<br />
Add the missing restore_reserve_on_error() call before folio_put() on both<br />
error paths.
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:*:*:*:*:*:*:*:* | 6.4 (incluyendo) | 6.6.143 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.94 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.36 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 7.0.13 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:* |
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/40c81856e622a9dc59294a90d169ac07ea25b0b0
- https://git.kernel.org/stable/c/45e33d43243d71d089af42f5077b8213cee6610f
- https://git.kernel.org/stable/c/8d6e1dd3ad1340cd8b6d554b7aa93d8f0a1c6d38
- https://git.kernel.org/stable/c/c72469ac0f274bde3f0df60a4584e14a123d0aa6
- https://git.kernel.org/stable/c/e47bf16af3c45470ea32f2241fa69aefe0dd61bd



