CVE-2023-28115Disclosure(knplabs / snappy)

LOWCVSS 9.8 · CRITICAL

Signal is active with 1 mentions in latest observed window

Immediate actions

  • Patch knplabs snappy systems immediately

Recommended action window: Monitor and triage in normal cycle

NVD description

Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Prior to version 1.4.2, Snappy is vulnerable to PHAR deserialization due to a lack of checking on the protocol before passing it into the `file_exists()` function. If an attacker can upload files of any type to the server he can pass in the phar:// protocol to unserialize the uploaded file and instantiate arbitrary PHP objects. This can lead to remote code execution especially when snappy is used with frameworks with documented POP chains like Laravel/Symfony vulnerable developer code. If a user can control the output file from the `generateFromHtml()` function, it will invoke deserialization. This vulnerability is capable of remote code execution if Snappy is used with frameworks or developer code with vulnerable POP chains. It has been fixed in version 1.4.2.

0.5/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-502

Priority

LOW

Exploitation

NONE

PoC

YES

Patch

AVAILABLE

Momentum

NONE

Are you affected?

If you run products in this scope, you should treat this CVE as relevant to your environment.

  • snappy

Threat summary

  • Patch or workaround signal is available
  • 1 mentions across 1 observed day

What's happening

  • Patch or workaround mentioned in 1 signal
  • Technical details provided in 1 signal
  • Disclosure: 1 classified signal
  • 1 total mentions across 1 day

Affected systems

Vendors
Products
snappy

Deep dive

Activity timeline1 mentions / 1d
00111Mentions · 2026-06-27: 1Patch / Workaround · 2026-06-27: 1Technical Details · 2026-06-27: 106-27
Signal classification1 categories
Disclosure
1100.0%
Full discourse1 post
  • Upwind Security MDR@UpwindMDR
    Disclosure

    🚨 CRITICAL - PHAR deserialization via unvalidated file_exists() path handling (CVE-2023-28115) Snappy (knplabs/knp-snappy) before 1.4.2 is vulnerable to PHAR deserialization because it passes attacker-controlled paths into file_exists() without validating the protocol/scheme. The root cause is improper input validation enabling PHP object deserialization through the phar:// stream wrapper (PHAR deserialization / insecure deserialization). An attacker with the ability to upload a file (or otherwise control a path that reaches the affected code) can supply a phar:// URI to trigger metadata deserialization and instantiate arbitrary PHP objects, especially dangerous in Laravel/Symfony environments with known POP chains. Successful exploitation can lead to remote code execution, full application compromise, and follow-on data theft or service takeover. 👉 Affected: knplabs/knp-snappy < 1.4.2 | Upgrade to 1.4.2

    Post summary

    This advisory discloses a critical PHAR deserialization flaw in knplabs/knp-snappy before version 1.4.2, outlines the mechanism and impact, and recommends upgrading to 1.4.2.

    0000079
    231 followersView on X
CPE platform detail1 entries

1 of 1 entries

PartVendorProductVersionTarget SWTarget HW
Appknplabssnappy---

Explore more