Deserialization in Knplabs Snappy

CVE-2023-28115

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.

Vulnerability class: Insecure Deserialization

Published · last modified .

CVSS v3 metric

CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

EPSS exploit prediction

EPSS: 0.028 (85.8th percentile), scored .

Low probability of exploitation in the next 30 days, but still tracked. 86th percentile — 85.8% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2023-28115: held from 0.028 to 0.028.

EPSS over last 30 days · oldest: 0.028 · newest: 0.028 · change: 0.000

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2023-28115?
CVE-2023-28115 is a critical-severity vulnerability in Knplabs Snappy, classified under Deserialization of Untrusted Data. CVSS score: 9.8/10. Published 2023-03-17.
How severe is CVE-2023-28115?
Critical severity. CVSS v3 base score is 9.8 out of 10.