Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft interlaced PNG with short IDAT
-
DeliveryDeliver file to victim application
-
ExploitVictim parses via getFilterTypesInterlaced()
-
ExecutionOut-of-bounds heap read triggered
-
ImpactDisclose adjacent heap memory or crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application actually invoke the lodepng::getFilterTypesInterlaced() utility in lodepng_util.cpp (not the standard lodepng_decode path) on an attacker-controlled interlaced PNG, and that this PNG declare a raster larger than its decompressed IDAT stream so the unchecked read runs past buffer bounds. Limiting factors: the vector is local (AV:L) and needs the victim to supply/open the crafted file (UI:P), the vulnerable code is a non-core helper so most applications using only core decoding are unaffected, and impact is confined to limited heap-memory disclosure plus denial of service - there is no code execution or integrity impact. |
| Impact | This is a moderate-severity, local-vector issue rather than a remote-exploitation priority. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H) scores 6.9 and is internally consistent with the description: exploitation is local (the victim application must process an attacker-supplied PNG file), requires passive user interaction (opening/parsing a file), needs no privileges, and yields limited confidentiality loss (adjacent heap disclosure) plus high availability impact (crash). No EPSS score, KEV listing, or explicit POC flag was provided in the input, so there is no public exploit identified at time of analysis - though a detailed third-party technical writeup exists on hackmd describing the short-IDAT OOB read, which lowers the barrier to developing one. A key scoping nuance NOT reflected in the raw score: the flaw lives in getFilterTypesInterlaced() inside lodepng_util.cpp, a utility/analysis helper, NOT in the core LodePNG decode path, so only applications that specifically call this function are affected - this materially narrows real-world exposure below what the bare CVSS implies. Net: real but bounded; prioritize for consumers of lodepng_util.cpp, deprioritize for the many projects that use only the core decoder. |
| Exploit ScenarioDerived | An attacker crafts an interlaced PNG whose header declares raster dimensions larger than the actual decompressed IDAT stream and delivers it to an application that calls lodepng::getFilterTypesInterlaced() (e.g., an image-analysis or forensic tool). When the victim opens the file, the missing bounds check causes reads past the end of the heap buffer, disclosing adjacent heap memory or crashing the process. No public exploit is identified at time of analysis, but a technical writeup detailing the condition is publicly available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
Heap out-of-bounds read in LodePNG's getFilterTypesInterlaced() utility in lodepng_util.cpp can disclose adjacent heap memory or crash applications that process a crafted interlaced PNG declaring a raster larger than its decompressed IDAT stream. This is a moderate-severity, local-vector issue rather than a remote-exploitation priority: exploitation requires local access and user interaction, and the vulnerable helper is outside the core decode path. No public exploit identified at time of analysis.
RemediationAI
No vendor-released patch identified at time of analysis; monitor the VulnCheck advisory at https://www.vulncheck.com/advisories/lodepng-through-20261006-heap-out-of-bounds-read-via-getfiltertypesinterlaced and the upstream LodePNG repository at https://github.com/lvandeve/lodepng for a fixed revision after 20261006, and upgrade once an exact fixed version is published. Until then, avoid calling lodepng::getFilterTypesInterlaced() on untrusted PNG data; if the helper must be used, pre-validate that declared raster dimensions are consistent with the decompressed IDAT size and reject interlaced PNGs whose declared dimensions exceed the available IDAT data, impose strict image dimension and memory limits, and process untrusted files in a sandboxed low-privilege worker. Disabling the helper may reduce filter-type inspection functionality for callers that rely on it, rejecting inconsistent interlaced PNGs may break legitimate interlace support, and strict size limits may block large but valid images.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LodePNG is a C++ PNG encoder/decoder library. The affected helper, lodepng::getFilterTypesInterlaced() in lodepng_util.cpp, inspects filter types for interlaced PNGs after IDAT decompression, but lacks sufficient bounds checks against the decompressed IDAT data. A crafted interlaced PNG can declare raster dimensions larger than the actual decompressed IDAT stream, causing the helper to read past the buffer (CWE-125). The CPE cpe:2.3:a:lvandeve:lodepng:*:*:*:*:*:*:*:* covers the LodePNG product, but exposure is specific to applications that call this utility rather than the standard lodepng_decode path. The assessed impact is limited to heap-memory disclosure and availability loss (crash); there is no established code execution or integrity impact. No public exploit identified at time of analysis.
Know when Lodepng gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
Local file parsing with victim interaction (AV:L/UI:R), no privileges needed; OOB read yields limited heap disclosure (C:L) and crash (A:H) with no integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
LodePNG through 20261006 contains a heap out-of-bounds read vulnerability in lodepng::getFilterTypesInterlaced() in lodepng_util.cpp that lacks bounds checks on decompressed IDAT data. Attackers can supply a crafted interlaced PNG declaring a raster larger than its IDAT stream to disclose adjacent heap memory or crash applications.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Lodepng v20220717 was discovered to contain a segmentation fault via the function pngdetail. Rated medium severity (CVSS
HuffmanTree_makeFromFrequencies in lodepng.c in LodePNG through 2019-09-28, as used in WinPR in FreeRDP and other produc
EUVD-2026-103473
GHSA-245m-8wv4-4xg8
NVD
CVE.org
Exploit-DB