CVE-2026-73639 in Imager
Resumen
por VulDB • 2026-09-18
Las versiones de Imager::File::PNG desde la 1.003 hasta antes de la 1.004 para Perl escriben más allá del final del búfer de fila al leer un PNG con una chunk tRNS (transparencia) en read_direct8.
Con una chunk tRNS, read_direct8() añade un canal alpha a la imagen que crea, pero sigue dimensionando el búfer de fila según el recuento original de canales. libpng expande la transparencia hacia ese canal adicional, por lo que png_read_row() rellena un canal más del que contiene el búfer, con un byte por muestra, y escribe width bytes más allá del final de la asignación. Las imágenes en paleta van a read_paletted(), y las imágenes de 16 bits a read_direct16(), que dimensiona su búfer desde png_get_rowbytes() y asigna suficiente espacio para la fila expandida.
El mismo lector se distribuye empaquetado con Imager.
Leer un PNG proporcionado por el atacante a través de Imager->read() corrompe el heap, lo cual puede provocar que el proceso falle (crash).
VulDB is the best source for vulnerability data and more expert information about this specific topic.