CVE-2026-49286: pontedilana php-weasyprint · Deserialization of Untrusted Data
Affects pontedilana php-weasyprintSource CVE Database V5
Mentioned vulnerabilities
Not known to be exploited · CVSS 8.1 High : upgrade to 2.6.0 soon.
Data as of 3 Nov 2026, 22:58 UTC
- EPSS
- 0.7% chance of exploitation in 30 days – higher than 54% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.6.0
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 19 Jun 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 3 Nov 2026.
What to do
Upgrade php-weasyprint and pontedilana/php-weasyprint to 2.6.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| pontedilanaphp-weasyprint | Affected
| Fixed in
|
Packagistpontedilana/php-weasyprintpkg:composer/pontedilana/php-weasyprintOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade php-weasyprint to version 2.6.0 or later, which contains the official patch for this vulnerability. No other mitigations are specified. Patch status is not explicitly stated in the vendor advisory, but version 2.6.0 includes the fix.
Description
PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.6.0, `pontedilana/php-weasyprint` guarded the output filename against the `phar://` stream wrapper with a case-sensitive blacklist. PHP stream wrappers are case-insensitive, so `PHAR://`, `Phar://`, etc. bypass the check and reach `fileExists()` (`file_exists()`) in `prepareOutput()`. On PHP 7 (which the library still supports — PHP 7.4+), this triggers deserialization of a crafted PHAR archive's metadata, leading to remote code execution. This is the patch-bypass of CVE-2023-28115. The same issue and fix were handled upstream in KnpLabs/snappy (GHSA-92rv-4j2h-8mjj). PhpWeasyPrint version 2.6.0 contains a patch for the issue.
References
- github.com/pontedilana/php-weasyprint/security/advisories/GHSA-2fmj-p74r-3wjm (opens in a new tab)
- github.com/KnpLabs/snappy/security/advisories/GHSA-92rv-4j2h-8mjj (opens in a new tab)
- github.com/pontedilana/php-weasyprint/commit/d1aa487722b5a3cab9b222b85fdb5608a5a550c3 (opens in a new tab)
- github.com/pontedilana/php-weasyprint/releases/tag/2.6.0 (opens in a new tab)