CVE-2026-73639 in Imager
Résumé
par VulDB • 18/09/2026
Les versions de Imager::File::PNG comprises entre la 1.003 (exclue) et la 1.004 pour Perl écrivent au-delà de la fin du tampon de ligne lors de la lecture d'un fichier PNG contenant un chunk tRNS de transparence dans read_direct8().
Avec un chunk tRNS, read_direct8() ajoute un canal alpha à l'image qu'il crée, mais dimensionne toujours le tampon de ligne en fonction du nombre original de canaux. libpng étend la transparence dans ce canal supplémentaire ; ainsi, png_read_row() remplit un canal de plus que ce que contient le tampon (à raison d'un octet par échantillon) et écrit width bytes au-delà de la fin de l'allocation. Les images en palette sont traitées par read_paletted(), tandis que les images 16 bits utilisent read_direct16(), qui dimensionne son tampon à partir de png_get_rowbytes() et alloue suffisamment d'espace pour la ligne étendue.
Le même lecteur est inclus dans la distribution Imager.
La lecture d'un fichier PNG fourni par un attaquant via Imager->read() corrompt le heap, ce qui peut provoquer l'arrêt du processus (crash).
Be aware that VulDB is the high quality source for vulnerability data.