- Son 7 gün
- CWE-400
- CWE-770
CVE-2026-114610
fpdf2'de SVG '<use>' genişlemesi, FPDF.image sırasında CPU ve bellek tükenmesine yol açıyor
- Yayımlandı
- Güncellendi
- 22 Eki 2026
- Açık yaşı
- 6 gün
- Kaydı açan
- GitHub_M
ÖzetTürkçe
fpdf2 , Python için bir PDF oluşturma kütüphanesidir. 2.5.0 sürümünden 2.8.8 sürümüne kadar olan sürümlerde, fpdf2'nin SVGObject.build_xref fonksiyonu, iç içe geçmiş SVG <use> referanslarını GraphicsContext.add_item fonksiyonuna iletmektedir. Bu fonksiyonun varsayılan clone=True derin kopyalama davranışı, FPDF.image işlemi sırasında başvurulan grafik ağacının tamamını kopyalamaktadır. Her iç içe geçme düzeyinde tekrarlanan referanslar, bellekteki nesne sayısını ve işlem yükünü üstel olarak artırmaktadır. Bu durum, kullanıcı kontrolündeki küçük bir SVG dosyasının aşırı CPU ve bellek tüketmesine, MemoryError hatası oluşmasına, PDF oluşturma işlerinin başarısız olmasına ve çalışan işçi kapasitesinin azalmasına veya tükenmesine neden olabilmektedir. ResourceAccessPolicy, referansların satır içi olması ve harici kaynak, XML varlığı, yerel dosya veya izin verici ağ ayarı gerektirmemesi nedeniyle bu sorunu önlemez. Sorun 2.8.8 sürümünde giderilmiştir.
Kaynaktaki açıklama (İngilizce)
fpdf2 is a PDF creation library for Python. From 2.5.0 until 2.8.8, fpdf2's SVGObject.build_xref() passes nested SVG <use> references to GraphicsContext.add_item(), whose default clone=True deep-copy behavior copies the complete referenced graphics tree during FPDF.image() processing. Repeating references at each nesting level makes the in-memory object count and processing work grow exponentially, allowing a small user-controlled SVG to consume excessive CPU and memory, raise MemoryError, fail PDF generation jobs, and reduce or exhaust worker capacity. ResourceAccessPolicy does not prevent the issue because the references are inline and require no external resource, XML entity, local file, or permissive network setting. This issue is fixed in version 2.8.8.
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 |
|---|---|---|
| py-pdf fpdf2 | Sürüm belirtilmemiş | – |
Kaynaklar6 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.