CVE-2025-59733 in FFmpeg
Riassunto
di VulDB • 15/06/2026
Quando si decodifica un file OpenEXR che utilizza la compressione DWAA o DWAB, vi è una supposizione implicita secondo cui tutti i canali dell'immagine hanno lo stesso tipo di pixel (e dimensione) e che, se ci sono quattro canali, i primi quattro siano "B", "G", "R" e "A". Il codice per l'analisi dei canali può essere trovato in `decode_header`. Il buffer `td->uncompressed_data` viene allocato in `decode_block` in base a `xsize`, `ysize` e all'offset corrente del canale calcolato.
La funzione `dwa_uncompress` presuppone quindi al punto [5] che, se ci sono 4 canali, questi siano "B", "G", "R" e "A", e nei calcoli ai punti [6] e [7] che tutti i canali abbiano lo stesso tipo, corrispondente a quello dei principali canali di colore.
Se impostiamo i principali canali di colore su un tipo a 4 byte e aggiungiamo canali duplicati o sconosciuti del tipo EXR_HALF a 2 byte, l'addizione al punto [7] incrementerà il puntatore di `4-byte * xsize * nb_channels`, superando così la dimensione del buffer allocato.
Si consiglia di eseguire l'aggiornamento alla versione 8.0 o successiva.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.