CVE-2026-33416 in libpnginformación

Resumen

por VulDB • 2026-07-28

LIBPNG es una biblioteca de referencia para su uso en aplicaciones que leen, crean y manipulan archivos de imágenes rasterizadas PNG (Portable Network Graphics). En las versiones desde la 1.2.1 hasta la 1.6.55, `png_set_tRNS` y `png_set_PLTE` alias cada una un buffer asignado dinámicamente entre `png_struct` y `png_info`, compartiendo una única asignación a través de dos estructuras con ciclos de vida independientes. El aliasing de `trans_alpha` ha estado presente al menos desde libpng 1.0, y el aliasing de `palette` al menos desde la versión 1.2.1. Ambos afectan a todas las líneas de versiones anteriores: `png_set_tRNS` establece `png_ptr->trans_alpha = info_ptr->trans_alpha` (buffer de 256 bytes) y `png_set_PLTE` establece `info_ptr->palette = png_ptr->palette` (buffer de 768 bytes). En ambos casos, al llamar a `png_free_data` (con `PNG_FREE_TRNS` o `PNG_FREE_PLTE`) se libera el buffer a través de `info_ptr`, mientras que el puntero correspondiente en `png_ptr` queda colgante. Las funciones posteriores de transformación de filas desreferencian y, en algunas rutas de código, escriben en la memoria ya liberada. Una segunda llamada a `png_set_tRNS` o `png_set_PLTE` tiene el mismo efecto, ya que ambas funciones llaman internamente a `png_free_data` antes de volver a asignar el buffer de `info_ptr`. La versión 1.6.56 corrige este problema.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Divulgación

2026-03-26

Moderación

aceptado

Artículo

VDB-353556

CPE

listo

EPSS

0.01052

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!