CVE-2026-3713
OpenJDK JDK vulnerability analysis and mitigation

Overview

CVE-2026-3713 is a heap-based buffer overflow vulnerability in pnggroup libpng up to version 1.6.55, specifically in the do_pnm2png() function within contrib/pngminus/pnm2png.c. The flaw is triggered by manipulating the width and/or height arguments in a crafted PNM file header, causing an integer overflow in the row_bytes calculation that leads to an undersized heap allocation and subsequent out-of-bounds write. The vulnerability was reported via a GitHub issue on February 18, 2026, and publicly disclosed on March 8, 2026; the libpng project had not responded to the report at time of disclosure. It carries a CVSS v3.1 base score of 5.3 (Medium), with local attack vector and low privileges required (Feedly, GitHub Issue).

Technical details

The root cause is an integer overflow (CWE-190) leading to a heap-based buffer overflow (CWE-122) in the do_pnm2png() function. The variable row_bytes is declared as png_uint_32, and its value is derived from attacker-controlled width and height fields read directly from the PNM file header via fscan_pnm_uint_32(). The existing guard check — if ((row_bytes == 0) || ((size_t) height > (size_t) (-1) / (size_t) row_bytes)) — can be bypassed when row_bytes wraps around to a small non-zero value due to integer overflow, causing both conditions to evaluate to false. The undersized buffer is then allocated via png_malloc(), and the subsequent write loop at lines 405–411 uses the original (large) width and channels values to write width * channels bytes per row, overflowing the heap buffer. A proof-of-concept PNM file and build instructions using AddressSanitizer have been publicly released (GitHub Issue, PoC Repo).

Impact

Successful exploitation can result in low-impact confidentiality, integrity, and availability compromise on the local system, as reflected in the CVSS scoring. An attacker with local access who can supply a malicious PNM file to the pnm2png utility may cause a heap-buffer-overflow write, potentially leading to application crashes (denial of service), memory corruption, or in more advanced scenarios, arbitrary code execution within the context of the process. The vulnerability is confined to the pnm2png conversion utility (a contributed tool, not the core libpng library), limiting its scope primarily to systems where this utility is compiled and used (Feedly, GitHub Issue).

Exploitability

A proof-of-concept exploit (crafted PNM file) has been publicly published by the reporter in a GitHub repository, and the CVSS v4.0 exploit maturity is rated as PROOF_OF_CONCEPT (Feedly, PoC Repo). The EPSS score is approximately 0.013% (0.000130), indicating a very low probability of widespread exploitation in the near term. There is no evidence of in-the-wild exploitation, no known threat actor attribution, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. IBM has acknowledged the vulnerability as affecting IBM Db2 on Cloud Pak for Data and Db2 Warehouse on Cloud Pak for Data (IBM Advisory).

Exploitation steps

  1. Craft a malicious PNM file: Create a PNM file with a header specifying extreme width and/or height values (e.g., near the maximum of png_uint_32, ~4294967295) designed to trigger integer overflow in the row_bytes calculation within do_pnm2png().
  2. Bypass the guard check: Choose values such that row_bytes wraps to a small non-zero value after overflow, causing the guard condition (row_bytes == 0) || ((size_t) height > (size_t) (-1) / (size_t) row_bytes) to evaluate to false, allowing execution to continue.
  3. Trigger undersized allocation: The overflowed row_bytes value is passed to png_malloc(), resulting in a heap buffer far smaller than needed for the actual image data.
  4. Trigger heap buffer overflow: The write loop at lines 405–411 of pnm2png.c uses the original large width and channels values, writing width * channels bytes per row into the undersized buffer, overflowing the heap.
  5. Achieve impact: Depending on heap layout and system protections, this may result in a crash (DoS), memory corruption, or potentially arbitrary code execution in the context of the pnm2png process (GitHub Issue, PoC Repo).

Indicators of compromise

  • Process: Unexpected crashes or abnormal termination of the pnm2png process, particularly when processing externally supplied PNM files; ASAN/sanitizer output referencing heap-buffer-overflow in do_pnm2png.
  • File System: Presence of suspicious or malformed PNM files (especially with anomalously large width/height values in the header) in directories processed by pnm2png.
  • Logs: Application crash logs or core dumps associated with pnm2png; error messages referencing png_malloc or memory allocation failures in libpng-related logs.
  • Network: No network-based IOCs are expected, as the attack vector is local (GitHub Issue).

Mitigation and workarounds

No official patch from the libpng project had been released at the time of disclosure, as the project had not responded to the issue report. IBM has addressed the vulnerability for affected IBM Db2 on Cloud Pak for Data and Db2 Warehouse on Cloud Pak for Data products — users of these products should apply the IBM security bulletin update (IBM Advisory). As a workaround, organizations should avoid exposing the pnm2png utility to untrusted input, restrict local user access to the tool, and monitor the libpng GitHub repository for an upstream patch. Compiling libpng with address sanitization or other memory safety tools can help detect exploitation attempts in development/test environments.

Community reactions

IBM issued a security bulletin acknowledging CVE-2026-3713 as affecting IBM Db2 on Cloud Pak for Data and Db2 Warehouse on Cloud Pak for Data, and provided remediation guidance (IBM Advisory). The vulnerability was assigned and published by VulDB, and the libpng project had not publicly responded to the issue report as of disclosure. No significant broader community discussion, researcher commentary, or major media coverage specific to this CVE was identified beyond standard vulnerability aggregator listings.

Additional resources

  • GitHub Issue — Original vulnerability report with technical details and PoC build instructions
  • PoC Repo — Public proof-of-concept exploit files
  • IBM Advisory — IBM security bulletin for affected Db2 products
  • VulDB Entry — VulDB vulnerability database entry
  • libpng Repo — Official libpng source repository for patch monitoring
  • ENISA EUVD — European Union Vulnerability Database entry
  • Tenable Plugin — Nessus detection plugin for CVE-2026-3713

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

libpng1.6

Affected

sid

libpng1.6

Affected

trixie

libpng1.6

Affected

Ubuntu

Unknown

bionic (esm-infra)

libpng1.6

Not Affected

devel

libpng1.6

Not Affected

focal (esm-infra)

libpng1.6

Not Affected

jammy

libpng1.6

Not Affected

noble

libpng1.6

Not Affected

noble (esm-apps)

chromium-browser

Not Affected

questing

libpng1.6

Not Affected

resolute

libpng1.6

Not Affected

RHEL / CentOS

Affected

OpenShift

Not Affected

RHEL 8

Not Affected

RHEL 9

Not Affected

RHEL 10

Not Affected

SourceThis report was generated using AI

Related OpenJDK JDK vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-62574HIGH7.8
  • Amazon Corretto JDK logoAmazon Corretto JDK
  • openjdk-25-jlink
NoYesJul 21, 2026
CVE-2026-70906HIGH7.5
  • Amazon Corretto JDK logoAmazon Corretto JDK
  • java-25-openjdk-static-libs
NoYesAug 18, 2026
CVE-2026-61308MEDIUM6.8
  • Amazon Corretto JDK logoAmazon Corretto JDK
  • java-25-openjdk-crypto-adapter-slowdebug-debuginfo
NoYesAug 18, 2026
CVE-2026-70907MEDIUM5.3
  • Amazon Corretto JDK logoAmazon Corretto JDK
  • java-21-amazon-corretto-headless
NoYesAug 18, 2026
CVE-2026-60589LOW3.7
  • Amazon Corretto JDK logoAmazon Corretto JDK
  • java-17-openjdk-headless-fastdebug-debuginfo
NoYesAug 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management