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
-
CVE-2016-10087 CVE record
CVE.org
-
CVE-2016-10087 NVD detail
NVD
-
Source item URL
nvd_modified
-
Mitigation or vendor reference
[email protected] - Mailing List, Third Party Advisory
-
Mitigation or vendor reference
[email protected] - Mailing List, Third Party Advisory
-
Mitigation or vendor reference
[email protected] - Third Party Advisory, VDB Entry
- Source reference
- Source reference
- Source reference
- Source reference
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.