CVE-2026-33636: LIBPNG has ARM NEON Palette Expansion Out-of-Bounds Read on AArch64
LIBPNG has ARM NEON Palette Expansion Out-of-Bounds Read on AArch64
Other sources
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. In versions 1.6.36 through 1.6.55, an out-of-bounds read and write exists in libpng's ARM/AArch64 Neon-optimized palette expansion path. When expanding 8-bit paletted rows to RGB or RGBA, the Neon loop processes a final partial chunk without verifying that enough input pixels remain. Because the implementation works backward from the end of the row, the final iteration dereferences pointers before the start of the row buffer (OOB read) and writes expanded pixel data to the same underflowed positions (OOB write). This is reachable via normal decoding of attacker-controlled PNG input if Neon is enabled. Version 1.6.56 fixes the issue.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-33636?
The severity of CVE-2026-33636 is considered to be high due to the potential for out-of-bounds reads and writes.
How do I fix CVE-2026-33636?
To fix CVE-2026-33636, update libpng to version 1.6.56 or later, as this version addresses the vulnerability.
What versions of libpng are affected by CVE-2026-33636?
CVE-2026-33636 affects libpng versions 1.6.36 through 1.6.55.
What are the implications of CVE-2026-33636?
The implications of CVE-2026-33636 include the risk of arbitrary code execution or application crashes due to out-of-bounds memory access.
Is CVE-2026-33636 only applicable to ARM architecture?
CVE-2026-33636 is primarily identified in the context of ARM architecture, specifically on AArch64 systems.