جزئیات آسیب‌پذیری

CVE-2026-49260

pontedilana php-weasyprint

PhpWeasyPrint: shell command injection via configurable WeasyPrint binary path due to inverted is_executable() guard (mirror of KnpLabs/snappy GHSA-vpr4-p6fq-85jc)

CVSS 3.1
8.2بالا

شرح رسمی (انگلیسی)

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.

امتیازهای CVSS

امتیازنسخهمنبعبردار
8.2بالا 3.1 CVEProject cvelistV5 (CNA) (GitHub_M) CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

محصولات آسیب‌پذیر

فروشندهمحصولنسخه‌هامنبع
pontedilana php-weasyprint < 2.5.1 CVEProject cvelistV5 (CNA)

منابع و راهنماها

۴
هشدار CVEهای بعدی این محصولمحصول را دنبال کنید تا آسیب‌پذیری‌های تازه را در تلگرام بگیرید.

اطلاعات

تاریخ انتشار
۱۴۰۵/۰۳/۲۹
آخرین به‌روزرسانی
۱۴۰۵/۰۴/۰۱
وضعیت
منتشرشده
صادرکننده (CNA)
GitHub_M

پیش‌بینی بهره‌برداری (EPSS)

۰٫۲۱٪
احتمال بهره‌برداری در ۳۰ روز
۱۱٫۲٪
صدک (نسبت به همه‌ی CVEها)

ارزیابی SSVC (CISA)

قابل خودکارسازی
خیر
وضعیت بهره‌برداری
اثبات مفهوم
اثر فنی
کامل

ضعف‌ها (CWE)

  • CWE-78
    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')