<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
	<DocumentTitle xml:lang="en">An update for libpng is now available for openEuler-24.03-LTS-SP3</DocumentTitle>
	<DocumentType>Security Advisory</DocumentType>
	<DocumentPublisher Type="Vendor">
		<ContactDetails>openeuler-security@openeuler.org</ContactDetails>
		<IssuingAuthority>openEuler security committee</IssuingAuthority>
	</DocumentPublisher>
	<DocumentTracking>
		<Identification>
			<ID>openEuler-SA-2026-2535</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2026-05-29</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2026-05-29</InitialReleaseDate>
		<CurrentReleaseDate>2026-05-29</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2026-05-29</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">libpng security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for libpng is now available for openEuler-24.03-LTS-SP3</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">The libpng package contains libraries used by other programs for reading and writing PNG format files. The PNG format was designed as a replacement for GIF and, to a lesser extent, TIFF, with many improvements and extensions and lack of patent problems.

Security Fix(es):

[&apos;Hello, everyone,\n\nThis is an out-of-band notice. Unlike previous libpng announcements,\nthis one doesn\&apos;t coincide with a libpng release, and the disclosure\ncadence differs from the usual coordinated pattern:\n\n- The fix landed on the libpng18 development branch (commit\n  faf0692468) approximately one month before this announcement.\n  libpng 1.8.0 is in late beta with no tagged release yet, so\n  there is no upstream release version with which to align the\n  disclosure. Downstream consumers building directly from the\n  libpng18 branch have had the fix available since it landed.\n- The vulnerable code originates in the third-party libpng-apng\n  patch, which is not under upstream libpng control. The patch\n  is applied downstream by Firefox and Thunderbird, as well as\n  several Linux distributions (Gentoo and LFS/BLFS among others).\n  The libpng-apng maintainer, Daisuke Nishikawa, has since released\n  fixed revisions (libpng-1.6.57-apng.patch v2 and\n  libpng-1.6.58-apng.patch); downstream consumers should either\n  update to those (verifying that both upstream commits are\n  included), or backport the upstream commits themselves (see\n  &quot;Related fix&quot; below).\n\n=== CVE-2026-40930 ===\n\nChunk smuggling in the push-mode APNG parser via unconsumed\nchunk body\n\nSecurity advisory:&apos;, &apos;Fix on libpng18:&apos;, &quot;CVSS 3.1: 5.4 (Medium); CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L\nCWE: CWE-436 (Interpretation Conflict)\nAffected (upstream): libpng 1.8.0 development branch (libpng18)\nAffected (downstream): libpng-1.6.49-apng.patch through\n  libpng-1.6.57-apng.patch (original v1) on SourceForge\nNot affected: upstream libpng 1.6.x releases (no APNG support)\nFixed (upstream): libpng18 at commit faf0692468\nFixed (downstream): libpng-1.6.57-apng.patch v2 and\n  libpng-1.6.58-apng.patch on SourceForge, released by the\n  libpng-apng maintainer\nBuild-time mitigation: building libpng 1.8 with APNG disabled\n  (i.e., without PNG_APNG_SUPPORTED), or building libpng 1.6\n  without the libpng-apng patch, removes the vulnerable code.\n  No runtime workaround exists for push-mode applications.\n\nThree inter-frame chunk discard paths in the push-mode APNG parser\nclear the chunk-header flag without consuming the chunk body and\nCRC, allowing attacker-controlled bytes inside a discarded chunk\nto be reinterpreted as a fresh chunk header on the next call to\npng_process_data.\n\nImpact depends on the application&apos;s CRC handling:\n\n- Default configuration: libpng calls png_error on the resulting\n  CRC mismatch or APNG sequence-number violation, and the image\n  fails to load. Impact is denial of service.\n- Relaxed configuration (png_set_crc_action with PNG_CRC_QUIET_USE\n  or PNG_CRC_WARN_USE): smuggled bytes reach the APNG sequence\n  counter and the zlib decompressor, and are decoded as frame\n  pixel data. No code execution: zlib output writes into a\n  pre-allocated row buffer. A crafted fake length exceeding the\n  carrier chunk body causes cascading desynchronization beyond\n  the carrier.\n\nSequential-mode reading (png_read_info / png_read_row /\npng_read_end) is not affected. Only push-mode (png_process_data)\nis vulnerable, and the Gecko-based browsers (for example) use it.\n\n=== Related fix ===\n\nA sibling defect in the same push-mode fdAT path was reported\nseparately in GitHub issue pnggroup/libpng#854 and fixed on the\nlibpng18 branch in commit 9ec49c2d56. It is distinct from\nCVE-2026-40930 and is not covered by the advisory above.\nDownstream consumers of libpng-apng should apply both commits to\nfully remediate the push-mode fdAT path. Those updating to the\nfixed libpng-apng revisions instead should verify that both commits\nare included; otherwise, 9ec49c2d56 must be backported separately.\n\nRelated fix on libpng18:&quot;, &apos;Credits:\n- Seung Min Shin (CVE-2026-40930 discovery)\n- Ryo Shimada (GitHub issue pnggroup/libpng#854)\n\n---\nCosmin Truta\nlibpng maintainer&apos;](CVE-2026-40930)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for libpng is now available for openEuler-24.03-LTS-SP3.

openEuler Security has rated this update as having a security impact of medium. A Common Vunlnerability Scoring System(CVSS)base score,which gives a detailed severity rating, is available for each vulnerability from the CVElink(s) in the References section.</Note>
		<Note Title="Severity" Type="General" Ordinal="5" xml:lang="en">Medium</Note>
		<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">libpng</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2535</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-40930</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-40930</URL>
		</Reference>
	</DocumentReferences>
	<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
		<Branch Type="Product Name" Name="openEuler">
			<FullProductName ProductID="openEuler-24.03-LTS-SP3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">openEuler-24.03-LTS-SP3</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="libpng-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-1.6.40-12.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="libpng-debuginfo-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-debuginfo-1.6.40-12.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="libpng-debugsource-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-debugsource-1.6.40-12.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="libpng-devel-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-devel-1.6.40-12.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="libpng-static-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-static-1.6.40-12.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="libpng-tools-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-tools-1.6.40-12.oe2403sp3.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="libpng-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-1.6.40-12.oe2403sp3.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="libpng-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-1.6.40-12.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="libpng-debuginfo-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-debuginfo-1.6.40-12.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="libpng-debugsource-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-debugsource-1.6.40-12.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="libpng-devel-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-devel-1.6.40-12.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="libpng-static-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-static-1.6.40-12.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="libpng-tools-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-tools-1.6.40-12.oe2403sp3.x86_64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="noarch">
			<FullProductName ProductID="libpng-help-1.6.40-12" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">libpng-help-1.6.40-12.oe2403sp3.noarch.rpm</FullProductName>
		</Branch>
	</ProductTree>
	<Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">[&apos;Hello, everyone,\n\nThis is an out-of-band notice. Unlike previous libpng announcements,\nthis one doesn\&apos;t coincide with a libpng release, and the disclosure\ncadence differs from the usual coordinated pattern:\n\n- The fix landed on the libpng18 development branch (commit\n  faf0692468) approximately one month before this announcement.\n  libpng 1.8.0 is in late beta with no tagged release yet, so\n  there is no upstream release version with which to align the\n  disclosure. Downstream consumers building directly from the\n  libpng18 branch have had the fix available since it landed.\n- The vulnerable code originates in the third-party libpng-apng\n  patch, which is not under upstream libpng control. The patch\n  is applied downstream by Firefox and Thunderbird, as well as\n  several Linux distributions (Gentoo and LFS/BLFS among others).\n  The libpng-apng maintainer, Daisuke Nishikawa, has since released\n  fixed revisions (libpng-1.6.57-apng.patch v2 and\n  libpng-1.6.58-apng.patch); downstream consumers should either\n  update to those (verifying that both upstream commits are\n  included), or backport the upstream commits themselves (see\n  &quot;Related fix&quot; below).\n\n=== CVE-2026-40930 ===\n\nChunk smuggling in the push-mode APNG parser via unconsumed\nchunk body\n\nSecurity advisory:&apos;, &apos;Fix on libpng18:&apos;, &quot;CVSS 3.1: 5.4 (Medium); CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L\nCWE: CWE-436 (Interpretation Conflict)\nAffected (upstream): libpng 1.8.0 development branch (libpng18)\nAffected (downstream): libpng-1.6.49-apng.patch through\n  libpng-1.6.57-apng.patch (original v1) on SourceForge\nNot affected: upstream libpng 1.6.x releases (no APNG support)\nFixed (upstream): libpng18 at commit faf0692468\nFixed (downstream): libpng-1.6.57-apng.patch v2 and\n  libpng-1.6.58-apng.patch on SourceForge, released by the\n  libpng-apng maintainer\nBuild-time mitigation: building libpng 1.8 with APNG disabled\n  (i.e., without PNG_APNG_SUPPORTED), or building libpng 1.6\n  without the libpng-apng patch, removes the vulnerable code.\n  No runtime workaround exists for push-mode applications.\n\nThree inter-frame chunk discard paths in the push-mode APNG parser\nclear the chunk-header flag without consuming the chunk body and\nCRC, allowing attacker-controlled bytes inside a discarded chunk\nto be reinterpreted as a fresh chunk header on the next call to\npng_process_data.\n\nImpact depends on the application&apos;s CRC handling:\n\n- Default configuration: libpng calls png_error on the resulting\n  CRC mismatch or APNG sequence-number violation, and the image\n  fails to load. Impact is denial of service.\n- Relaxed configuration (png_set_crc_action with PNG_CRC_QUIET_USE\n  or PNG_CRC_WARN_USE): smuggled bytes reach the APNG sequence\n  counter and the zlib decompressor, and are decoded as frame\n  pixel data. No code execution: zlib output writes into a\n  pre-allocated row buffer. A crafted fake length exceeding the\n  carrier chunk body causes cascading desynchronization beyond\n  the carrier.\n\nSequential-mode reading (png_read_info / png_read_row /\npng_read_end) is not affected. Only push-mode (png_process_data)\nis vulnerable, and the Gecko-based browsers (for example) use it.\n\n=== Related fix ===\n\nA sibling defect in the same push-mode fdAT path was reported\nseparately in GitHub issue pnggroup/libpng#854 and fixed on the\nlibpng18 branch in commit 9ec49c2d56. It is distinct from\nCVE-2026-40930 and is not covered by the advisory above.\nDownstream consumers of libpng-apng should apply both commits to\nfully remediate the push-mode fdAT path. Those updating to the\nfixed libpng-apng revisions instead should verify that both commits\nare included; otherwise, 9ec49c2d56 must be backported separately.\n\nRelated fix on libpng18:&quot;, &apos;Credits:\n- Seung Min Shin (CVE-2026-40930 discovery)\n- Ryo Shimada (GitHub issue pnggroup/libpng#854)\n\n---\nCosmin Truta\nlibpng maintainer&apos;]</Note>
		</Notes>
		<ReleaseDate>2026-05-29</ReleaseDate>
		<CVE>CVE-2026-40930</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Medium</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>5.4</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>libpng security update</Description>
				<DATE>2026-05-29</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2535</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>