CVE-2012-3425
NoneCVSS
—
EPSS
3.4%
Published
Aug 13, 2012
CISA due date
—
Cloudanix analysis
A flaw in an old graphics library can let attackers send a specially made picture file that crashes programs trying to open it, causing outages until the library is updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Out-of-bounds read in png_push_read_zTXt triggered by oversized avail_in in PNG zTXt chunks, resulting in application crash.
Why it matters to the business
Applications that render or process PNG images can be forced offline or made unstable, disrupting services that rely on image handling across many legacy systems still using unpatched libpng.
How an attack unfolds
An attacker creates a specially crafted PNG image containing a zTXt chunk with an inflated avail_in value and delivers it to any application linked against a vulnerable libpng build; when the library parses the chunk it reads past allocated buffers and crashes.
How to fix it
Upgrade libpng to 1.0.58 or newer, 1.2.48 or newer, 1.4.10 or newer, or 1.5.10 or newer on every affected system; rebuild and redeploy all dependent applications after the library update.
How to confirm the fix worked
Confirm the installed libpng shared object or header files report a version at or above the fixed releases; recompile a test application against the new library and verify that the crafted PNG no longer triggers a crash.
Typical attack path
- Identify a target application or service that accepts PNG images and uses an affected libpng version.
- Craft a minimal PNG containing a zTXt chunk with a large avail_in field.
- Deliver the image via network upload, web request, email attachment, or file share.
- Trigger parsing of the image inside the vulnerable library code path.
- Observe denial-of-service through process crash or repeated restarts.
How to detect it
Review web-server, application, and system logs for abrupt crashes or segmentation faults immediately after PNG file handling; correlate with file-upload or image-processing events and inspect retained malicious PNG samples for oversized zTXt chunks.
What your security team should do
- Inventory all systems and containers that ship or link libpng and prioritize upgrades on internet-facing services first.
- Add libpng version checks to build pipelines and package manifests to prevent reintroduction of vulnerable releases.
- Monitor crash logs and image-processing error rates for sudden spikes that could indicate attempted exploitation.
The record
The png_push_read_zTXt function in pngpread.c in libpng 1.0.x before 1.0.58, 1.2.x before 1.2.48, 1.4.x before 1.4.10, and 1.5.x before 1.5.10 allows remote attackers to cause a denial of service (out-of-bounds read) via a large avail_in field value in a PNG image.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:6.0 | libpng | 0 | 1.2.44-1+squeeze6 |
| Ubuntu:14.04:LTS | libpng | 0 | 1.2.50-1ubuntu2.14.04.1 |
| nuget | libpng | 1.0.0 | No fix |
| nuget | libpng | 1.2.0 | No fix |
| nuget | libpng | 1.4.0 | No fix |
| nuget | libpng | 1.5.0 | No fix |
Related vulnerabilities
- CVE-2015-8472 Buffer overflow in the png_set_PLTE function in libpng before 1.0.65, 1.1.x and 1.2.x… Also affects libpng
- CVE-2015-8126 Multiple buffer overflows in the (1) png_set_PLTE and (2) png_get_PLTE functions in… Also affects libpng
- CVE-2011-3026 Integer overflow in libpng, as used in Google Chrome before 17.0.963.56, allows remote… Also affects libpng
- CVE-2016-10087 The png_set_text_2 function in libpng 0.71 before 1.0.67, 1.2.x before 1.2.57, 1.4.x… Also affects libpng
- CVE-2010-1205 Buffer overflow in pngpread.c in libpng before 1.2.44 and 1.4.x before 1.4.3, as used in… Also affects libpng
- CVE-2026-112108 A vulnerability was determined in ztxz16 fastllm up to 0.1.8.2. CWE-119
- CVE-2026-112073 A vulnerability was identified in Tencent ncnn up to 44b02dabdcf97499281a4692ebd65bad73dc… CWE-119
- CVE-2026-90831 A vulnerability was detected in GNU Binutils 2.47. CWE-119