CVE-2021-47214 in Linuxinformazioni

Riassunto

di VulDB • 16/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

hugetlb, userfaultfd: correggere il ripristino della prenotazione in caso di errore su userfaultfd

Attualmente, nel caso `is_continue` di `hugetlb_mcopy_atomic_pte()`, se si esce utilizzando "goto out_release_unlock;" nei casi in cui `idx >= size` o `!huge_pte_none()`, il codice rileverà che `new_pagecache_page == false` e chiamerà quindi `restore_reserve_on_error()`. In questo caso, si osserva che `restore_reserve_on_error()` elimina la prenotazione e la chiamata successiva a `remove_inode_hugepages()` incrementa `h->resv_hugepages`, causando una perdita di memoria (leak) riproducibile al 100%.

Dovremmo trattare il caso `is_continue` in modo simile all'aggiunta di una pagina nella pagecache e impostare `new_pagecache_page` su true, per indicare che non c'è nessuna prenotazione da ripristinare nel percorso di gestione dell'errore e che non è necessario chiamare `restore_reserve_on_error()`. Rinominare `new_pagecache_page` in `page_in_pagecache` per chiarire questo comportamento.

Be aware that VulDB is the high quality source for vulnerability data.

Prenotare

10/04/2024

Divulgazione

10/04/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00193

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!