- CWE-125
- CWE-787
CVE-2026-91186
GUIX PNG kod çözücüsünde yinelenen IHDR parçası nedeniyle heap sınırları dışına yazma
- Yayımlandı
- Güncellendi
- 20 Eki 2026
- Açık yaşı
- 8 gün
- Kaydı açan
- eclipse
ÖzetTürkçe
PNG parça okuyucusunun parça sıralamasını denetlemediği tespit edildi. Okuyucu bir IDAT parçasının görülüp görülmediğini ve bir tRNS parçasının şeffaflık bilgisini zaten sağlayıp sağlamadığını kaydediyor, ancak IHDR parçasının ikinci kez okunmasını engellemiyor.
Bir PNG dosyasında tam olarak bir IHDR bulunur ve bu parça ilk parçadır. IDAT'tan sonra ikinci bir IHDR yerleştiren bir dosya, görüntü genişliğini, yüksekliğini, bit derinliğini ve piksel derinliğini, kod çözülmüş veri arabelleği orijinal değerlerden ayrılıp doldurulduktan sonra yeniden yazar. PNG satır filtrelerini geri çeviren geçiş, kendi boyutunu yeni boyutlardan hesaplar ve eski ayırmayı dolaşarak görüntü baytlarını arabelleğin sonunun ötesine taşır.
Arabellek çağıranın sağladığı bir bellek yerine GUIX tarafından ayrılır; bu nedenle uygulamanın arabelleği savunmacı biçimde boyutlandırma imkânı yoktur. Kod çözücü varsayılan olarak derlenmiş halde gelir.
CVSS:4.0 vektörü: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N, temel puan: 8.4000000000000003552713678800500929355621337890625 (HIGH).
Kaynaktaki açıklama (İngilizce)
The PNG chunk reader has no notion of chunk ordering. It records whether an IDAT has been seen and whether a tRNS has already supplied transparency, but nothing prevents an IHDR being read a second time.
A PNG carries exactly one IHDR and it is the first chunk. A file that places a second one after IDAT rewrites the image width, height, bit depth and pixel depth *after* the decoded-data buffer has already been allocated and filled from the original values. The pass that reverses the PNG row filters then derives its own extent from the new dimensions and walks the old allocation, moving image bytes past the end of it.
The buffer is allocated by GUIX rather than supplied by the caller, so the application has no way to size it defensively. The decoder is compiled in by default.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| Eclipse Foundation Eclipse ThreadX - GUIX | ≤ 6.5.1.202602a | – |
| 6.5.2.202603 Etkilenmiyor | – |
Kaynaklar3 kaynak
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.