Vulnerabilidad en libpng de pnggroup (CVE-2026-33416)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
26/03/2026
Última modificación:
02/04/2026
Descripción
LIBPNG es una biblioteca de referencia para su uso en aplicaciones que leen, crean y manipulan archivos de imagen ráster PNG (Portable Network Graphics). En las versiones 1.2.1 a 1.6.55, 'png_set_tRNS' y 'png_set_PLTE' cada una aliasan un búfer asignado en el heap entre 'png_struct' y 'png_info', compartiendo una única asignación entre dos estructuras con vidas útiles independientes. El aliasing de 'trans_alpha' ha estado presente desde al menos libpng 1.0, y el aliasing de 'palette' desde al menos 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' (búfer de 256 bytes) y 'png_set_PLTE' establece 'info_ptr->palette = png_ptr->palette' (búfer de 768 bytes). En ambos casos, llamar a 'png_free_data' (con 'PNG_FREE_TRNS' o 'PNG_FREE_PLTE') libera el búfer a través de 'info_ptr' mientras que el puntero 'png_ptr' correspondiente permanece colgante. Las funciones de transformación de fila subsiguientes desreferencian y, en algunas rutas de código, escriben en la memoria liberada. Una segunda llamada a 'png_set_tRNS' o 'png_set_PLTE' tiene el mismo efecto, porque ambas funciones llaman internamente a 'png_free_data' antes de reasignar el búfer de 'info_ptr'. La versión 1.6.56 corrige el problema.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:libpng:libpng:*:*:*:*:*:*:*:* | 1.2.1 (incluyendo) | 1.6.56 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/pnggroup/libpng/commit/23019269764e35ed8458e517f1897bd3c54820eb
- https://github.com/pnggroup/libpng/commit/7ea9eea884a2328cc7fdcb3c0c00246a50d90667
- https://github.com/pnggroup/libpng/commit/a3a21443ed12bfa1ef46fa0d4fb2b74a0fa34a25
- https://github.com/pnggroup/libpng/commit/c1b0318b393c90679e6fa5bc1d329fd5d5012ec1
- https://github.com/pnggroup/libpng/pull/824
- https://github.com/pnggroup/libpng/security/advisories/GHSA-m4pc-p4q3-4c7j



