PatchSiren

PatchSiren cyber security CVE debrief

CVE-2016-10087 Libpng CVE debrief

CVE-2016-10087 is a high-severity availability flaw in libpng. According to the CVE record, png_set_text_2 can dereference a NULL pointer when text handling reaches a specific state transition: a text chunk is loaded into a png structure, removed, and then another text chunk is added. The NVD assigns CVSS 3.0 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) and CWE-476 (NULL Pointer Dereference). The issue was publicly recorded on 2017-01-30, with linked community advisories and mailing-list references from late December 2016.

Vendor
Libpng
Product
CVE-2016-10087
CVSS
HIGH 7.5
CISA KEV
Not listed in stored evidence
Original CVE published
2017-01-30
Original CVE updated
2026-05-13
Advisory published
2017-01-30
Advisory updated
2026-05-13

Who should care

Teams that ship or bundle libpng, especially maintainers of applications, libraries, appliances, or embedded images that parse untrusted PNG content. Security teams should care most where PNG upload, preview, thumbnailing, conversion, or rendering is exposed to remote input, because the CVSS vector indicates network-reachable impact with no privileges or user interaction required.

Technical summary

The vulnerable behavior is in png_set_text_2 across affected libpng branches prior to the fixed releases listed in the CVE: before 1.0.67, 1.2.57, 1.4.20, 1.5.28, and 1.6.27. The flaw is a NULL pointer dereference triggered by a specific sequence involving text chunk loading, removal, and re-adding text to the png structure. NVD categorizes the weakness as CWE-476 and rates impact as availability-only. The supplied CPE data shows broad coverage across many historical libpng versions, reinforcing that multiple long-lived branches were affected.

Defensive priority

High for any environment that processes untrusted PNG files with libpng. The vulnerability is remotely reachable in the CVSS vector and can cause application crashes or service disruption, so patching should be prioritized wherever PNG parsing is part of a network-facing or user-supplied workflow.

Recommended defensive actions

  • Upgrade libpng to a fixed release at or above 1.0.67, 1.2.57, 1.4.20, 1.5.28, or 1.6.27, depending on the branch in use.
  • Inventory all direct and bundled libpng copies, including static builds and vendor firmware images, and verify the deployed version rather than only the package manager version.
  • Review PNG upload, conversion, preview, and thumbnail services for crash resilience and restart behavior in case parsing failures occur before patching is complete.
  • Treat any third-party advisories or downstream vendor packages linked in the CVE record as supplementary confirmation, but base remediation on the fixed upstream version for the branch in use.
  • If upgrading is delayed, limit exposure by reducing untrusted PNG ingestion paths until patched binaries are deployed.

Evidence notes

This debrief is based only on the supplied CVE/NVD corpus and linked official or third-party references. Key evidence includes the CVE description naming png_set_text_2 and the affected version ceilings, the NVD CVSS vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, and the CWE-476 classification. Timing context comes from the CVE published date 2017-01-30 and the linked openwall advisories dated 2016-12-29 and 2016-12-30. No exploit code, reproduction steps, or unsupported claims are included.

Official resources

Publicly disclosed in the CVE/NVD record on 2017-01-30, with community mailing-list discussion and downstream advisories appearing in late December 2016 per the linked references.