[security][HIGH] libpng 1.6.53: 5 CVE require triage #1
Labels
No labels
bot
cve
llm-analysis
needs-build
needs-triage
priority/medium
security
severity-high
source-nvd
update/patch
upstream-update
upstream/github
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rpms/libpng#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
CVE triage request / Запрос на разбор CVE
Package / Пакет
libpng1.6.531.6.53-1librarylibrary-base-teamHIGH8.35LLM recommendation / Рекомендация LLM
RU
Установлена уязвимость переполнения буфера (CVE-2026-22801, CVE-2026-22695) и потенциальные проблемы с памятью (CVE-2026-33416) в libpng 1.6.53. Эти уязвимости затрагивают чтение и запись PNG-изображений и могут привести к выполнению произвольного кода. Также выявлен кандидат CVE-2026-33636, требующий проверки архитектуры.
Немедленно обновите пакет libpng до версии 1.6.54 или новее для устранения критических уязвимостей переполнения буфера. Если обновление невозможно, рассмотрите возможность отката на стабильную ветку или применения патчей вручную.
Рекомендуемое действие:
update_packageПодсказка по целевой версии:
1.6.54Проверки: 1. Проверить версию пакета: rpm -q --queryformat '%{VERSION}' libpng. 2. Убедиться, что версия >= 1.6.54. 3. Протестировать приложения, использующие libpng, на предмет корректности обработки PNG-файлов с нестандартными параметрами (отрицательный stride, специфические палитры).
Риски: Выполнение произвольного кода (RCE) при обработке специально сконструированных PNG-изображений. Уязвимости затрагивают как чтение, так и запись изображений, что делает систему уязвимой при работе с любыми внешними источниками изображений.
EN
Buffer overflow vulnerabilities (CVE-2026-22801, CVE-2026-22695) and potential memory issues (CVE-2026-33416) exist in libpng 1.6.53 affecting PNG image processing and potentially leading to arbitrary code execution. CVE-2026-33636 is a candidate requiring architecture verification.
Immediately update the libpng package to version 1.6.54 or later to mitigate critical buffer overflow vulnerabilities. If an update is not feasible, consider rolling back to a stable branch or applying patches manually.
Recommended action:
update_packageTarget version hint:
1.6.54Tests: 1. Check package version: rpm -q --queryformat '%{VERSION}' libpng. 2. Ensure version >= 1.6.54. 3. Test applications using libpng for correct handling of PNG files with non-standard parameters (negative stride, specific palettes).
Risks: Arbitrary code execution (RCE) when processing specially crafted PNG images. Vulnerabilities affect both reading and writing images, making the system vulnerable when working with any external image sources.
CVE candidates from NVD/CPE
Descriptions
CVE-2026-25646
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. Prior to 1.6.55, an out-of-bounds read vulnerability exists in the png_set_quantize() API function. When the function is called with no histogram and the number of colors in the palette is more than twice the maximum supported by the user's display, certain palettes will cause the function to enter into an infinite loop that reads past the end of an internal heap-allocated buffer. The images that trigger this vulnerability are valid per the PNG specification. This vulnerability is fixed in 1.6.55.
CVE-2026-22801
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. From 1.6.26 to 1.6.53, there is an integer truncation in the libpng simplified write API functions png_write_image_16bit and png_write_image_8bit causes heap buffer over-read when the caller provides a negative row stride (for bottom-up image layouts) or a stride exceeding 65535 bytes. The bug was introduced in libpng 1.6.26 (October 2016) by casts added to silence compiler warnings on 16-bit systems. This vulnerability is fixed in 1.6.54.
CVE-2026-33636
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. In versions 1.6.36 through 1.6.55, an out-of-bounds read and write exists in libpng's ARM/AArch64 Neon-optimized palette expansion path. When expanding 8-bit paletted rows to RGB or RGBA, the Neon loop processes a final partial chunk without verifying that enough input pixels remain. Because the implementation works backward from the end of the row, the final iteration dereferences pointers before the start of the row buffer (OOB read) and writes expanded pixel data to the same underflowed positions (OOB write). This is reachable via normal decoding of attacker-controlled PNG input if Neon is enabled. Version 1.6.56 fixes the issue.
CVE-2026-33416
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. In versions 1.2.1 through 1.6.55,
png_set_tRNSandpng_set_PLTEeach alias a heap-allocated buffer betweenpng_structandpng_info, sharing a single allocation across two structs with independent lifetimes. Thetrans_alphaaliasing has been present since at least libpng 1.0, and thepalettealiasing since at least 1.2.1. Both affect all prior release linespng_set_tRNSsetspng_ptr->trans_alpha = info_ptr->trans_alpha(256-byte buffer) andpng_set_PLTEsetsinfo_ptr->palette = png_ptr->palette(768-byte buffer). In both cases, callingpng_free_data(withPNG_FREE_TRNSorPNG_FREE_PLTE) frees the buffer throughinfo_ptrwhile the correspondingpng_ptrpointer remains dangling. Subsequent row-transform functions dereference and, in some code paths, write to the freed memory. A second call topng_set_tRNSorpng_set_PLTEhas the same effect, because both functions callpng_free_datainternally before reallocating theinfo_ptrbuffer. Version 1.6.56 fixes the issue.CVE-2026-22695
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. From 1.6.51 to 1.6.53, there is a heap buffer over-read in the libpng simplified API function png_image_finish_read when processing interlaced 16-bit PNGs with 8-bit output format and non-minimal row stride. This is a regression introduced by the fix for CVE-2025-65018. This vulnerability is fixed in 1.6.54.
Maintainer checklist
affected,fixed,not_affected,false_positive,deferred, ornot_in_cloud_image.niceos_cve_triageentry.NICE-SAadvisory if a security update is shipped.Machine metadata
Closing as fixed by the
libpng 1.6.58update inniceos-5.2.Security triage result:
libpngwas updated within the same stable ABI series:libpng 1.6.53 → 1.6.58libpng16.so.16Installed library layout confirms the same SONAME line:
CVE status with
1.6.58:CVE-2026-22695: fixed upstream in1.6.54.CVE-2026-22801: fixed upstream in1.6.54.CVE-2026-25646: fixed upstream in1.6.55.CVE-2026-33416: fixed upstream in1.6.56.CVE-2026-33636: fixed upstream in1.6.56.The final target was moved past
1.6.56to1.6.58because1.6.57fixedCVE-2026-34757, a use-after-free regression related to theCVE-2026-33416fix, and1.6.58is the current public1.6.xrelease with an additional bugfix after1.6.57.ABI assessment:
This update stays inside the
libpng 1.6.x/libpng16.so.16ABI line, so it should not require an ABI transition or mass rebuild. Reverse-dependency smoke testing is still recommended for packages linked againstlibpng16.so.16.Validation checklist:
Result: fixed by
libpng 1.6.58inniceos-5.2.