Uma vulnerabilidade crítica em libpng — a biblioteca de referência para imagens PNG — foi corrigida hoje com o lançamento da versão 1.6.55. A falha, rastreada como CVE-2026-25646, pode levar a crash determinístico e, em cenários mais complexos, à execução remota de código.
Descrição técnica
O problema está na função png_set_quantize(), usada para quantização de cores. Um erro lógico permite que o algoritmo entre em um loop que acaba lendo além do fim de um buffer alocado no heap — um heap buffer overflow. Segundo a notificação, o loop cresce o valor max_d até ultrapassar o tamanho fixo da tabela de hash (769 pointers), forçando leituras fora do buffer.
Condições de gatilho
- A imagem deve conter chunk
PLTE(palette) e não conterhIST(histogram). - A aplicação precisa solicitar quantização de cores.
- O número de cores na paleta deve ser maior do que o dobro do máximo suportado pelo display do usuário.
Impacto e alcance
A ubiquidade do libpng torna esta falha de alto risco: a biblioteca é embutida em sistemas operacionais, navegadores, visualizadores de imagem e inúmeras bibliotecas de terceiros. O relatório oficial recomenda atualização imediata para 1.6.55. Na maioria dos casos, o efeito mais provável é uma interrupção determinística (DoS) — crash de aplicativo —, mas o advisory alerta para possibilidade de exploração mais séria em condições específicas.
Correção aplicada
O patch corrige a lógica de população da tabela de hash, armazenando índices de paleta originais em vez de índices “atuais” que introduziam inconsistência entre preenchimento e leitura. A correção foi incluída em libpng 1.6.55; desenvolvedores devem atualizar dependências que usam a biblioteca o quanto antes.
Recomendações para times de segurança e CISO
- Inventariar componentes que dependem de
libpng(binários, serviços, containers, bibliotecas vinculadas estaticamente). - Priorizar atualização de imagens/container builds e distribuição de patch para aplicações internas e gateways que manipulam PNGs recebidos externamente.
- Monitorar telemetria por sinais de crashes correlacionados com manipulação de imagens PNG e revisar regras WAF/IPS para bloquear imagens que cumpram os gatilhos conhecidos.
- Testar a cadeia de fornecimento: muitas bibliotecas e apps embutem libpng estaticamente; verifique builds customizados e dependências transitivas.
Evidências e limites da informação
A publicação aponta o CVE e o commit/patch, mas não apresenta PoC público nem relatórios de exploração ativa em larga escala no momento. O anúncio recomenda atualização imediata por precaução dada a exposição massiva do componente.
Atualize para libpng 1.6.55 e trate a correção como prioridade alta na sua cadeia de distribuição de software.