Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. pontedilana/php-weasyprint
  4. ›
  5. CVE-2026-49286

CVE-2026-49286: PhpWeasyPrint vulnerable to PHAR deserialization via output filename (CVE-2023-28115 case-insensitive bypass)

June 26, 2026

pontedilana/php-weasyprint guarded the output filename against the phar:// stream wrapper with a case-sensitive blacklist:

if (0 === \strpos($filename, 'phar://')) {
throw new \InvalidArgumentException('The output file cannot be a phar archive.');
}

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).

References

  • github.com/KnpLabs/snappy/security/advisories/GHSA-92rv-4j2h-8mjj
  • github.com/advisories/GHSA-2fmj-p74r-3wjm
  • github.com/pontedilana/php-weasyprint/commit/d1aa487722b5a3cab9b222b85fdb5608a5a550c3
  • github.com/pontedilana/php-weasyprint/releases/tag/2.6.0
  • github.com/pontedilana/php-weasyprint/security/advisories/GHSA-2fmj-p74r-3wjm
  • nvd.nist.gov/vuln/detail/CVE-2026-49286

Code Behaviors & Features

Detect and mitigate CVE-2026-49286 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 2.6.0

Fixed versions

  • 2.6.0

Solution

Upgrade to version 2.6.0 or above.

Impact 8.1 HIGH

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-502: Deserialization of Untrusted Data

Source file

packagist/pontedilana/php-weasyprint/CVE-2026-49286.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 12 Jul 2026 12:16:41 +0000.