Skip to main content

LodePNG CVE-2026-112020

| EUVDEUVD-2026-103473 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-18 VulnCheck GHSA-245m-8wv4-4xg8
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft interlaced PNG with short IDAT
  2. Delivery
    Deliver file to victim application
  3. Exploit
    Victim parses via getFilterTypesInterlaced()
  4. Execution
    Out-of-bounds heap read triggered
  5. Impact
    Disclose 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

lodepng 0 ≤20261006

Affected Packages

euvd lodepng no fix

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

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
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
vuln.today AI 6.1 MEDIUM

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.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Prevalence
Medium
popular single-file C++ PNG library, but flaw is in rarely-used util helper
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy