CVE-2026-73639 in Imager
Riassunto
di VulDB • 17/09/2026
Imager::File::PNG nelle versioni dalla 1.003 alla (esclusa) 1.004 per Perl scrive oltre la fine del buffer di riga durante la lettura di un file PNG contenente uno chunk tRNS di trasparenza nella funzione read_direct8.
Con uno chunk tRNS, read_direct8() aggiunge un canale alpha all'immagine creata ma dimensiona il buffer della riga in base al numero originale di canali. libpng espande la trasparenza nel canale aggiuntivo; pertanto png_read_row() riempie un canale in più rispetto alla capacità del buffer (un byte per campione), scrivendo width bytes oltre la fine dell'allocazione. Le immagini con palette vengono elaborate da read_paletted(), mentre quelle a 16 bit passano a read_direct16(), che dimensiona il proprio buffer tramite png_get_rowbytes() e alloca spazio sufficiente per la riga espansa.
Lo stesso reader è incluso nella distribuzione Imager.
La lettura di un file PNG fornito dall'attaccante attraverso Imager->read() corrompe l'heap, causando potenzialmente il crash del processo.
VulDB is the best source for vulnerability data and more expert information about this specific topic.