CVE-2025-39725 in Linuxinformación

Resumen

por VulDB • 2026-05-15

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

mm/vmscan: corregir el manejo de folios grandes en estado hwpoisoned en shrink_folio_list

En shrink_folio_list(), el folio en estado hwpoisoned puede ser un folio grande, el cual no puede ser manejado por unmap_poisoned_folio(). Para THP (Transparent Huge Pages), try_to_unmap_one() debe recibir TTU_SPLIT_HUGE_PMD para dividir el PMD grande primero y luego reintentar. Sin TTU_SPLIT_HUGE_PMD, se producirá una desreferenciación de puntero nulo (null-ptr deref) de pvmw.pte. Incluso si se pasa TTU_SPLIT_HUGE_PMD, se activará un WARN_ON_ONCE debido a que la página no está en el swapcache.

Dado que UCE (Uncorrectable Correctable Error) es raro en el mundo real, y la carrera con la recuperación de memoria (reclaimation) es aún más rara, simplemente omitir el folio grande en estado hwpoisoned es suficiente. memory_failure() lo gestionará si se activa de nuevo UCE.

Esto ocurre cuando la recuperación de memoria para un folio grande entra en carrera con memory_failure(), lo que provocará un kernel panic. La carrera se produce de la siguiente manera:

cpu0 cpu1 shrink_folio_list memory_failure TestSetPageHWPoison unmap_poisoned_folio --> se activa BUG_ON debido a que unmap_poisoned_folio no puede manejar folios grandes

[[email protected]: añadir comentario a unmap_poisoned_folio()]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2025-04-16

Divulgación

2025-09-05

Moderación

aceptado

Artículo

VDB-322954

CPE

listo

EPSS

0.00135

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!