CVE-2026-34757
Full vulnerability record from the local CVENow database.
Description
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. From 1.0.9 to before 1.6.57, passing a pointer obtained from png_get_PLTE, png_get_tRNS, or png_get_hIST back into the corresponding setter on the same png_struct/png_info pair causes the setter to read from freed memory and copy its contents into the replacement buffer. The setter frees the internal buffer before copying from the caller-supplied pointer, which now dangles. The freed region may contain stale data (producing silently corrupted chunk metadata) or data from subsequent heap allocations (leaking unrelated heap contents into the chunk struct). This vulnerability is fixed in 1.6.57.
View original CVE JSON
{
"id": "CVE-2026-34757",
"sourceIdentifier": "[email protected]",
"published": "2026-04-09T15:16:11.003",
"lastModified": "2026-10-26T21:10:00.170",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. From 1.0.9 to before 1.6.57, passing a pointer obtained from png_get_PLTE, png_get_tRNS, or png_get_hIST back into the corresponding setter on the same png_struct/png_info pair causes the setter to read from freed memory and copy its contents into the replacement buffer. The setter frees the internal buffer before copying from the caller-supplied pointer, which now dangles. The freed region may contain stale data (producing silently corrupted chunk metadata) or data from subsequent heap allocations (leaking unrelated heap contents into the chunk struct). This vulnerability is fixed in 1.6.57."
},
{
"lang": "es",
"value": "LIBPNG es una biblioteca de referencia para su uso en aplicaciones que leen, crean y manipulan archivos de imagen ráster PNG (Portable Network Graphics). Desde la versión 1.0.9 hasta antes de la 1.6.57, pasar un puntero obtenido de png_get_PLTE, png_get_tRNS o png_get_hIST de vuelta al setter correspondiente en el mismo par png_struct/png_info hace que el setter lea de memoria liberada y copie su contenido en el búfer de reemplazo. El setter libera el búfer interno antes de copiar desde el puntero proporcionado por el llamador, el cual ahora queda colgando. La región liberada puede contener datos obsoletos (produciendo metadatos de fragmentos silenciosamente corruptos) o datos de asignaciones de heap posteriores (filtrando contenido de heap no relacionado en la estructura del fragmento). Esta vulnerabilidad se corrige en la versión 1.6.57."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "pnggroup",
"product": "libpng",
"versions": [
{
"version": ">= 1.0.9, < 1.6.57",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
"baseScore": 5.1,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.5,
"impactScore": 2.5
},
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
"baseScore": 4.4,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 1.8,
"impactScore": 2.5
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-09T16:07:19.169786Z",
"id": "CVE-2026-34757",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-416"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:libpng:libpng:*:*:*:*:*:*:*:*",
"versionStartIncluding": "1.0.9",
"versionEndExcluding": "1.6.57",
"matchCriteriaId": "00103425-8DFF-4046-9913-8A4EA9B208C0"
}
]
}
]
},
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*",
"matchCriteriaId": "FA6FEEC2-9F11-4643-8827-749718254FED"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/pnggroup/libpng/commit/398cbe3df03f4e11bb031e07f416dfdde3684e8a",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/pnggroup/libpng/commit/55d20aaa322c9274491cda82c5cd4f99b48c6bcc",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/pnggroup/libpng/issues/836",
"source": "[email protected]",
"tags": [
"Exploit",
"Issue Tracking",
"Mitigation"
]
},
{
"url": "https://github.com/pnggroup/libpng/issues/837",
"source": "[email protected]",
"tags": [
"Exploit",
"Issue Tracking",
"Mitigation"
]
},
{
"url": "https://github.com/pnggroup/libpng/security/advisories/GHSA-6fr7-g8h7-v645",
"source": "[email protected]",
"tags": [
"Mitigation",
"Patch",
"Vendor Advisory"
]
},
{
"url": "https://lists.debian.org/debian-lts-announce/2026/05/msg00017.html",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Mailing List",
"Third Party Advisory"
]
}
]
}