CVE-2026-49260
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
PhpWeasyPrint to biblioteka PHP umożliwiająca generowanie PDF z URL lub strony HTML. W wersjach przed 2.5.1 występuje luka, która pozwala na wstrzyknięcie polecenia powłoki z powodu niewłaściwego sprawdzania ścieżki do binariów.
Ocena ryzyka
Organizacje mogą być narażone na ataki typu injection, co może prowadzić do nieautoryzowanego wykonania poleceń w systemie. W przypadku wykorzystania tej luki, atakujący może uzyskać dostęp do wrażliwych danych lub przejąć kontrolę nad systemem.
Rekomendacja
Zaleca się aktualizację biblioteki PhpWeasyPrint do wersji 2.5.1 lub nowszej, aby usunąć tę podatność. Należy również przeanalizować konfiguracje, które mogą być źródłem ścieżek do binariów.
Oryginalny opis (angielski, źródło NVD)
PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.5.1, `pontedilana/php-weasyprint` builds the shell command for WeasyPrint by passing the binary path through `escapeshellarg()` first and then checking the *quoted* result with `is_executable()`. On POSIX `escapeshellarg('/usr/local/bin/weasyprint')` returns `'/usr/local/bin/weasyprint'` with the single-quote characters as part of the string, so `is_executable()` looks for a file whose actual name includes those quotes. That file never exists, the "safe" branch is dead code, and the raw `$binary` string (set via the constructor or `setBinary()`) flows directly into `Symfony\Component\Process\Process::fromShellCommandline()`. Any deployment whose binary path is sourced from configuration, an environment variable, or a per-tenant setting reaches a shell-command-injection sink. The library is documented as a one-to-one substitute for KnpLabs/snappy and inherited the exact pre-fix codepath KnpLabs patched in GHSA-vpr4-p6fq-85jc. PhpWeasyPrint version 2.5.1 contains a patch for the issue.

