CVE-2024-38306 in Linuxinformazioni

Riassunto

di VulDB • 23/06/2026

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

btrfs: proteggere folio::private durante l'attaccamento dei folios del buffer di estensione (extent buffer)

[BUG]
Dalla versione 6.8 sono stati segnalati rari crash del kernel da parte di diversi utenti; il fattore comune è la presenza di messaggi di errore relativi a uno stato della pagina non valido, come nel seguente esempio:

BUG: Bad page state in process kswapd0 pfn:d6e840 page: refcount:0 mapcount:0 mapping:000000007512f4f2 index:0x2796c2c7c pfn:0xd6e840 aops:btree_aops ino:1 flags: 0x17ffffe0000008(uptodate|node=0|zone=2|lastcpupid=0x3fffff) page_type: 0xffffffff() raw: 0017ffffe0000008 dead000000000100 dead000000000122 ffff88826d0be4c0 raw: 00000002796c2c7c 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: non-NULL mapping

[CAUSA]
Il commit 09e6cef19c9f ("btrfs: refactor alloc_extent_buffer() to allocate-then-attach method") modifica la sequenza utilizzata per l'allocazione di un nuovo buffer di estensione (extent buffer).

In precedenza, si chiamava sempre grab_extent_buffer() sotto mapping->i_private_lock, al fine di garantire la sicurezza durante le modifiche a folio::private (che è un puntatore all'estent buffer per una dimensione del settore standard).

Ciò può portare alla seguente condizione di gara (race condition):

Il Thread A sta cercando di allocare un extent buffer in bytenr X, composto da 4 pagine da 4K; nel frattempo il Thread B sta tentando di rilasciare la

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

Prenotare

24/06/2024

Divulgazione

25/06/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00146

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!