CVE-2025-39725 in Linux
Riassunto
di VulDB • 28/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
mm/vmscan: correggere la gestione dei grandi folio danneggiati (hwpoison) in shrink_folio_list
In shrink_folio_list(), il folio hwpoisonato può essere un grande folio, che non può essere gestito da unmap_poisoned_folio(). Per i THP (Transparent Huge Pages), try_to_unmap_one() deve ricevere TTU_SPLIT_HUGE_PMD per suddividere prima l'enorme PMD e poi riprovare. Senza TTU_SPLIT_HUGE_PMD, si verificherebbe una dereferenziazione di puntatore nullo su pvmw.pte. Anche se viene passato TTU_SPLIT_HUGE_PMD, si genererà un WARN_ON_ONCE poiché la pagina non è presente nel swapcache.
Poiché gli UCE (Uncorrected Correctable Errors) sono rari nella realtà e le condizioni di gara con il reclaim sono ancora più rare, saltare semplicemente i grandi folio hwpoisonati è sufficiente. memory_failure() lo gestirà se l'UCE si verifica nuovamente.
Questo problema si verifica quando la fase di memory reclaim per un grande folio va in condizione di gara (race) con memory_failure(), portando a un kernel panic. La sequenza della condizione di gara è la seguente:
cpu0 cpu1 shrink_folio_list memory_failure TestSetPageHWPoison unmap_poisoned_folio --> trigger BUG_ON dovuto al fatto che unmap_poisoned_folio non può gestire i grandi folio
[[email protected]: aggiunto commento a unmap_poisoned_folio()]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.