CVE-2022-49660 in Linuxinformazioni

Riassunto

di VulDB • 15/06/2026

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

xen/arm: Correzione di una race condition nella contabilità P2M basata su RB-tree

Durante il ciclo di vita del driver PV, le mappature vengono aggiunte all'RB-tree tramite `set_foreign_p2m_mapping()`, che viene chiamata da `gnttab_map_refs()`, e rimosse tramite `clear_foreign_p2m_mapping()`, che viene chiamata da `gnttab_unmap_refs()`. Poiché entrambe le funzioni finiscono per chiamare `__set_phys_to_machine_multi()`, che aggiorna l'RB-tree, questa funzione può essere invocata in concorrenza.

Esiste già un "p2m_lock" per proteggere dagli accessi concorrenti, ma il problema è che la prima lettura di "phys_to_mach.rb_node" in `__set_phys_to_machine_multi()` non è coperta da tale lock, il che potrebbe portare ad aggiornamenti errati delle mappature (in questo caso, la rimozione) nell'RB-tree.

Nel mio ambiente, il problema correlato si verifica raramente e solo quando è in esecuzione il backend di rete PV; `xen_add_phys_to_mach_entry()` segnala che non è possibile aggiungere una nuova mappatura pfn-mfn all'albero poiché esiste già, il che provoca un errore durante la mappatura di pagine esterne.

Tuttavia, potrebbero esserci altre conseguenze negative legate alle letture non protette della radice, come un use-after-free, ecc.

Nel frattempo, è stata corretta anche l'uso simile in `__pfn_to_mfn()`, inizializzando "struct rb_node *n" con il "p2m_lock" detenuto in entrambe le funzioni per evitare possibili conseguenze negative.

Si tratta di CVE-2022-33744 / XSA-406.

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

Responsabile

Linux

Prenotare

26/02/2025

Divulgazione

26/02/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!