CVE-2024-56759 in Linuxinformazioni

Riassunto

di VulDB • 17/06/2026

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

btrfs: corregge un use-after-free durante l'operazione di COW (Copy-On-Write) di un blocco dell'albero quando il tracing è abilitato

Quando si esegue la COW di un blocco dell'albero, in btrfs_cow_block(), e il tracepoint trace_btrfs_cow_block() è abilitato e anche la preemption è abilitata (CONFIG_PREEMPT=y), è possibile innescare un use-after-free nel buffer di estensione (extent buffer) oggetto di COW all'interno del codice del tracepoint. Questo accade perché in alcuni percorsi che chiamano btrfs_cow_block(), come btrfs_search_slot(), viene mantenuto l'ultimo riferimento al buffer di estensione @buf, quindi btrfs_force_cow_block() rilascia l'ultimo riferimento al buffer di estensione @buf quando chiama free_extent_buffer_stale(buf), il che programma il rilascio del buffer di estensione tramite RCU. Ciò significa che, se si utilizza un kernel con la preemption abilitata, il task corrente potrebbe essere preempted prima della chiamata a trace_btrfs_cow_block(), e il buffer di estensione potrebbe già essere stato rilasciato al momento della chiamata a trace_btrfs_cow_block(), causando un use-after-free.

Si risolve il problema spostando la chiamata a trace_btrfs_cow_block() da btrfs_cow_block() a btrfs_force_cow_block(), prima che il buffer di estensione oggetto di COW venga liberato. Questo ha anche l'effetto collaterale di invocare il tracepoint nel codice di deframmentazione dell'albero, in defrag.c:btrfs_realloc_node(), poiché btrfs_force_cow_block() viene chiamato lì, ma ciò è accettabile e tale chiamata mancava effettivamente in quel punto.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Linux

Prenotare

29/12/2024

Divulgazione

06/01/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00220

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!