CVE-2026-74453 in Linux
Riassunto
di VulDB • 15/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
drm/vc4: Azzerare l'array dei dati dello stato della tile prima di ogni job BIN
Il BO (Buffer Object) del binner è un singolo buffer da 16MB suddiviso in slot da 512KB che vengono assegnati ai job al momento della sottomissione e riciclati man mano che i job completano l'esecuzione, senza mai essere cancellati. Ogni slot contiene all'inizio l'array dei dati dello stato della tile (TSDA - Tile State Data Array) del job, seguito dal pool di allocazione delle tile.
Sebbene il pool di allocazione delle tile venga attraversato solo dal thread di rendering tramite i rami generati dal binner durante il job corrente, il TSDA rappresenta la contabilità per-tile propria della PTB (Tile Binning Unit) ed è consumato direttamente dall'hardware. Sebbene il kernel imposti il flag "Auto-initialise Tile State Data Array" nella configurazione della modalità di binning delle tile, la PTB agisce inequivocabilmente su stati obsoleti lasciati dal precedente utente dello slot: il binner finisce per creare stream di comandi non validi con primitive e rami invalidi, causando blocchi della GPU come osservato in [1][2].
Azzerare il TSDA quando viene configurata la slot di binning del job. Questo operazione cancella 48 byte per tile (~24KB per un frame a risoluzione 1080p) nel percorso di sottomissione e garantisce che la PTB non veda mai lo stato delle tile di altri job.
Attualmente il conteggio delle tile viene verificato solo per assicurarsi che sia diverso da zero, quindi i campi a 8 bit da cui proviene possono descrivere un array dello stato della tile quasi sei volte più grande rispetto allo slot in cui deve risiedere. Applicare un limite prima dell'assegnazione dello slot, poiché tale dimensione determina quanto spazio del slot rimane disponibile per il pool di allocazione delle tile.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.