CVE-2026-49260
Published:June 19, 2026
Updated:June 29, 2026
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.
Affected Packages
https://github.com/pontedilana/php-weasyprint.git (GITHUB):
Affected version(s) >=0.9.0 <2.5.1Fix Suggestion:
Update to version 2.5.1pontedilana/php-weasyprint (PHP):
Affected version(s) >=0.9.0 <2.5.1Fix Suggestion:
Update to version 2.5.1Additional Notes
The description of this vulnerability differs from MITRE.
Related Resources (4)
Do you need more information?
Contact UsCVSS v4
Base Score:
9.3
Attack Vector
LOCAL
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
HIGH
User Interaction
NONE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
HIGH
Subsequent System Integrity
HIGH
Subsequent System Availability
HIGH
CVSS v3
Base Score:
8.2
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
HIGH
User Interaction
NONE
Scope
CHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Weakness Type (CWE)
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
EPSS
Base Score:
0.15