Disponible LibPNG 1.6.56 en ALDOS, corrigiendo vulnerabilidades CVE-2026-33416 y CVE-2026-33636
Autor: Joel Barrios
Wed, 25 Mar 2026 19:42:00
X.com Facebook Reddit LinkedIn Email
Se ha publicado la versión 1.6.56 de la biblioteca libpng, componente crítico para el procesamiento de imágenes en formato PNG en innumerables aplicaciones. Esta actualización de seguridad corrige dos vulnerabilidades de alta gravedad que afectan a todas las versiones anteriores de la biblioteca. Se recomienda a todos los usuarios aplicar la actualización de manera inmediata para proteger sus sistemas.
🛡️ Detalles de las vulnerabilidades corregidas
Se trata de dos importantes vulnerabilidades.
CVE-2026-33416 (alta severidad) – Use-after-free
Esta vulnerabilidad afecta a las funciones png_set_tRNS y png_set_PLTE. En versiones anteriores a la 1.6.56, se producía un aliasing de punteros entre las estructuras png_struct y png_info, compartiendo un mismo búfer de memoria asignado en el heap entre dos estructuras con ciclos de vida independientes. Al liberar la memoria a través de una de ellas, el puntero en la otra estructura quedaba dangling (colgante). Las funciones de transformación posteriores leían y —en determinadas rutas— escribían en esta memoria ya liberada, lo que podía derivar en:
- Lectura de memoria liberada (potencial divulgación de información)
- Escritura de valores controlados por el atacante (corrupción del heap)
- Ejecución de código arbitrario en entornos sin ASLR/PIE (como sistemas embebidos o servidores legacy)
El fallo ha sido presente en la biblioteca desde versiones muy tempranas (trans_alpha desde 1.0, palette desde 1.2.1) y afecta a todas las versiones hasta 1.6.55.
CVE-2026-33636 (alta severidad) – Lectura/escritura fuera de límites en ARM Neon
Esta vulnerabilidad se manifiesta en la expansión de paleta optimizada para arquitecturas ARM con extensión Neon. Al procesar imágenes PNG indexadas, la rutina de expansión leía y escribía más allá de los límites del búfer de paleta, provocando:
- Lectura de hasta 768 bytes de memoria adyacente (posible fuga de información)
- Escritura de valores fuera de los límites (corrupción de memoria)
El atacante podía controlar los valores escritos mediante la manipulación de la imagen PNG, lo que podría llevar a ejecución de código arbitrario en sistemas ARM de 32 y 64 bits.
Otros problemas corregidos
Además de las dos vulnerabilidades principales, la versión 1.6.56 incluye más de una decena de correcciones adicionales que mejoran la estabilidad y seguridad:
- Lecturas no inicializadas en búferes
trans_alphamás allá denum_trans. - Estado obsoleto de
info_ptr->palettetras transformaciones gamma y fondo in-place. - Índices de canal erróneos en la ruta RGB_ALPHA de
png_image_read_and_map. - Color de fondo incorrecto en lectura de mapa de colores.
- Bucle infinito en escritura de sPLT.
- Validación de profundidades de desplazamiento en
png_set_shiftpara prevenir bucle infinito. - Comportamiento indefinido en biblioteca y pruebas.
- Fugas de memoria y mal uso de API en oss-fuzz.
⚡ Actualización en ALDOS
Para los usuarios de ALDOS, la distribución basada en Fedora/RHEL, la corrección está disponible de inmediato a través de los repositorios oficiales. Para actualizar todos los paquetes del sistema, incluida la nueva versión de libpng, ejecute el siguiente mandato en su terminal:
yum -y update
Tras la actualización, se recomienda reiniciar las aplicaciones que hagan un uso intensivo de gráficos o el entorno de escritorio completo para garantizar que todas carguen la nueva versión de la biblioteca en memoria.
📚 Bibliografía
- Aviso de seguridad en GitHub (GHSA-m4pc-p4q3-4c7j)
- Lanzamiento de libpng 1.6.56 en GitHub
- Detalle de CVE-2026-33416 en NVD
- Detalle de CVE-2026-33636 en NVD
