CVE-2026-73639 in Imager
Sumário
de VulDB • 18/09/2026
As versões do módulo Perl Imager::File::PNG de 1.003 até (excluindo) a versão 1.004 gravam além do final do buffer da linha ao ler um arquivo PNG com um chunk tRNS de transparência na função read_direct8.
Com o chunk tRNS, read_direct8() adiciona um canal alfa à imagem que cria, mas ainda dimensiona o buffer da linha com base na contagem original de canais. O libpng expande a transparência para esse canal extra; portanto, png_read_row() preenche um canal a mais do que o buffer suporta (um byte por amostra), escrevendo width bytes além do final da alocação. Imagens em paleta são direcionadas para read_paletted(), e imagens de 16 bits vão para read_direct16(), que dimensiona seu buffer com base em png_get_rowbytes() e aloca espaço suficiente para a linha expandida.
O mesmo leitor é distribuído junto com o pacote Imager.
A leitura de um PNG fornecido por um atacante através do método Imager->read() corrompe o heap, o que pode causar a falha (crash) do processo.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.