Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:HSummary
CVE-2026-33636 is a high-severity Out-of-bounds Read (CWE-125) vulnerability in Libpng Libpng. Its CVSS base score is 7.6 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked in the top 49% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-15 (Development Process, Standards, and Tools) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-33636 is an out-of-bounds read and write vulnerability in the LIBPNG reference library, which applications use to read, create, and manipulate PNG raster image files. The flaw affects versions 1.6.36 through 1.6.55 and occurs in the ARM/AArch64 Neon-optimized palette expansion path. Specifically, when expanding 8-bit paletted rows to RGB or RGBA, the Neon loop processes a final partial chunk without verifying sufficient input pixels remain. Because the implementation processes backward from the row's end, this leads to dereferencing pointers before the start of the row buffer (out-of-bounds read, CWE-125) and writing expanded pixel data to those underflowed positions (out-of-bounds write, CWE-787). The issue is reachable through normal decoding of attacker-controlled PNG input when Neon optimizations are enabled.
Attackers can exploit this vulnerability remotely over the network with no privileges required, though user interaction is necessary, such as convincing a user to open a malicious PNG file in an affected application. Successful exploitation yields low confidentiality and integrity impacts alongside high availability impact, as scored at CVSS 7.6 (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H). On ARM/AArch64 systems with Neon enabled, decoding the crafted image triggers the out-of-bounds access, potentially leading to application crashes, denial of service, or limited data exposure and corruption depending on the context and mitigations like ASLR.
The libpng security advisory (GHSA-wjr5-c57x-95m2) and associated fix commits detail mitigation by upgrading to version 1.6.56, which addresses the bounds checking deficiency in the Neon palette expansion loop. The primary patches are available in GitHub commits 7734cda20cf1236aef60f3bbd2267c97bbb40869 and aba9f18eba870d14fb52c5ba5d73451349e339c3. Security practitioners should audit dependencies for vulnerable libpng versions, especially in image-processing software on ARM/AArch64 platforms, and consider disabling Neon optimizations if patching is delayed.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-16269
Vulnerability Data
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…
more
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.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Developer testing and evaluation directly finds out-of-bounds read flaws through static analysis, fuzzing, and dynamic bounds checks.
Requiring documented secure-development standards and tools can mandate bounds-checked coding practices that avoid the weakness.
Secure engineering principles require bounds checking and memory-safe constructs that stop out-of-bounds reads from being introduced.
Process isolation confines the effects of an out-of-bounds read to the compromised process.
Input validation rejects malformed indices or lengths that would otherwise cause reads outside buffer bounds.
Memory-protection mechanisms limit the exploitability and blast radius of a successful out-of-bounds write.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure-development practices such as bounds checking and memory-safe languages directly prevent out-of-bounds reads.
Vulnerability scanning and recording can discover instances of out-of-bounds reads after code is deployed.
Routine patching replaces vulnerable code containing out-of-bounds read flaws.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing in development and acceptance includes fuzzing and static analysis that detect out-of-bounds read defects before release.
Logging can record evidence of an out-of-bounds read but does not prevent the weakness itself.
Secure development life cycle mandates input validation and bounds checking that directly prevent out-of-bounds reads.
Application security requirements include explicit bounds and memory-safety specifications that mitigate buffer over-reads.
Secure system architecture and engineering principles require memory-safe design patterns and runtime protections against out-of-bounds access.
Secure coding standards explicitly forbid unsafe pointer arithmetic and mandate bounds-checked reads, eliminating CWE-125.