Deserialization of Untrusted Data Affecting openmage/magento-lts package, versions <20.17.0


Severity

Recommended
0.0
critical
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.54% (41st percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Deserialization of Untrusted Data vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-PHP-OPENMAGEMAGENTOLTS-16301634
  • published27 Apr 2026
  • disclosed20 Apr 2026
  • creditblackhat2013

Introduced: 20 Apr 2026

CVE-2026-25524  (opens in a new tab)
CWE-502  (opens in a new tab)

How to fix?

Upgrade openmage/magento-lts to version 20.17.0 or higher.

Overview

openmage/magento-lts is a This repository is the home of an unofficial community-driven project.

Affected versions of this package are vulnerable to Deserialization of Untrusted Data the Varien_Image file handling path and related image validation code in Varien_Image, Mage_Core_Model_File_Validator_Image, and Mage_Cms_Model_Wysiwyg_Images_Storage. An attacker can trigger object deserialization and execute attacker-controlled gadget chains by supplying a phar:// image path or upload target that is processed as an image. This can lead to remote code execution in deployments that accept untrusted image paths or files, exposing the application and its data to takeover.

Workarounds

  • Disable the phar stream wrapper in PHP if your deployment does not need it, for example, by calling stream_wrapper_unregister('phar') during bootstrap; this prevents phar:// paths from triggering PHAR metadata deserialization in image and file checks.
  • Reject or block phar:// paths at your application boundary before they reach image validation or media handling; this prevents attacker-controlled phar:// image paths from reaching functions like getimagesize(), file_exists(), and is_readable().
  • Remove ICO uploads from your allowed image types and do not accept new .ico image files; this reduces the polyglot upload vector that can be used to smuggle PHAR content through image handling.

Details

Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.

Deserialization of untrusted data (CWE-502) is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, thus allowing the attacker to control the state or the flow of the execution.

CVSS Base Scores

version 4.0
version 3.1