CVE-2026-49260

Yüksek

Açıklama

PhpWeasyPrint, bir URL veya HTML sayfasından PDF oluşturmaya olanak tanıyan bir PHP kütüphanesidir. Versiyon 2.5.1 öncesinde, `pontedilana/php-weasyprint`, WeasyPrint için kabuk komutunu oluştururken ikili dosya yolunu önce `escapeshellarg()` üzerinden geçirir ve ardından *tırnak içine alınmış* sonucu `is_executable()` ile kontrol eder. POSIX üzerinde `escapeshellarg('/usr/local/bin/weasyprint')`, tek tırnak karakterlerini dizinin bir parçası olarak içeren `'/usr/local/bin/weasyprint'` değerini döndürür; bu nedenle `is_executable()`, gerçek adı bu tırnakları içeren bir dosya arar. Bu dosya hiçbir zaman mevcut olmaz, "güvenli" dal ölü kod haline gelir ve ham `$binary` dizisi (kurucu yöntem veya `setBinary()` aracılığıyla ayarlanan) doğrudan `Symfony\Component\Process\Process::fromShellCommandline()` fonksiyonuna aktarılır. İkili dosya yolunun yapılandırmadan, bir ortam değişkeninden veya kiracı başına ayardan alındığı herhangi bir dağıtım, bir kabuk komutu enjeksiyonu (shell-command-injection) riskine açık hale gelir. Kütüphane, KnpLabs/snappy için birebir bir alternatif olarak belgelenmiştir ve KnpLabs'in GHSA-vpr4-p6fq-85jc kapsamında yamaladığı hata öncesi kod yolunu aynen devralmıştır. PhpWeasyPrint versiyon 2.5.1, bu sorun için bir yama içermektedir.

ÖnemYüksek
CVSS8.2
İstismar olasılığı—
ÜrünPontedilana/php-weasyprint
Yayın19 Haz 2026
İlk görülme19 Haz 2026

Nasıl düzeltilir

Güncelleyin
  • pontedilana/php-weasyprint2.5.1 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
pontedilana/php-weasyprintPackagistv < 2.5.12.5.1

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.