Description
Zumba Json Serializer is a library to serialize PHP variables in JSON format. In versions 3.2.2 and below, the library allows deserialization of PHP objects from JSON using a special @type field. The deserializer instantiates any class specified in the @type field without restriction. When processing untrusted JSON input, this behavior may allow an attacker to instantiate arbitrary classes available in the application. If a vulnerable application passes attacker-controlled JSON into JsonSerializer::unserialize() and contains classes with dangerous magic methods (such as __wakeup() or __destruct()), this may lead to PHP Object Injection and potentially Remote Code Execution (RCE), depending on available gadget chains in the application or its dependencies. This behavior is similar in risk profile to PHP's native unserialize() when used without the allowed_classes restriction. Applications are impacted only if untrusted or attacker-controlled JSON is passed into JsonSerializer::unserialize() and the application or its dependencies contain classes that can be leveraged as a gadget chain. This issue has been fixed in version 3.2.3. If an immediate upgrade isn't feasible, mitigate the vulnerability by never deserializing untrusted JSON with JsonSerializer::unserialize(), validating and sanitizing all JSON input before deserialization, and disabling @type-based object instantiation wherever possible.
Published: 2026-02-21
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Potential RCE via PHP Object Injection
Action: Immediate Patch
AI Analysis

Impact

The Zumba Json Serializer library provides JSON serialization and deserialization of PHP data. In versions 3.2.2 and earlier, the deserializer accepts an @type field that specifies a PHP class to instantiate. Because this field is processed without any restriction, an attacker can cause the library to create any class that exists in the running application. The resulting object may invoke magic methods such as __wakeup() or __destruct(), which can lead to PHP object injection. If the application or any of its dependencies provide a gadget chain that can be triggered by these methods, remote code execution becomes possible. This weakness corresponds to CWE‑502, the improper handling of serialized data.

Affected Systems

The vulnerability affects the Zumba Json Serializer project, specifically all releases up to and including 3.2.2. Users of 3.2.2 or earlier who call JsonSerializer::unserialize() with untrusted or attacker‑controlled JSON are at risk. The fix was released in version 3.2.3, and later releases are not impacted.

Risk and Exploitability

The CVSS v3 score of 8.1 indicates high severity, though the EPSS probability is below 1 %, suggesting exploitation is unlikely at present. Nevertheless, any application that accepts arbitrary JSON from external sources and forwards it to JsonSerializer::unserialize() is vulnerable, as the attacker must provide the JSON payload and the target environment must contain exploitable classes. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog, but it shares the risk profile of native PHP unserialize without allowed_classes safeguards.

Generated by OpenCVE AI on April 17, 2026 at 16:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to version 3.2.3 or later of Zumba Json Serializer to apply the vendor’s fix.
  • Disable @type‑based object instantiation in JsonSerializer when it is available, so that only primitive types can be deserialized.
  • Validate or sanitize all JSON input before calling JsonSerializer::unserialize(), or avoid calling unserialize on any untrusted data completely.

Generated by OpenCVE AI on April 17, 2026 at 16:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v7m3-fpcr-h7m2 Zumba Json Serializer has a potential PHP Object Injection via Unrestricted @type in unserialize()
History

Wed, 25 Feb 2026 23:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 23 Feb 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Zumba
Zumba json-serializer
Vendors & Products Zumba
Zumba json-serializer

Sat, 21 Feb 2026 07:15:00 +0000

Type Values Removed Values Added
Description Zumba Json Serializer is a library to serialize PHP variables in JSON format. In versions 3.2.2 and below, the library allows deserialization of PHP objects from JSON using a special @type field. The deserializer instantiates any class specified in the @type field without restriction. When processing untrusted JSON input, this behavior may allow an attacker to instantiate arbitrary classes available in the application. If a vulnerable application passes attacker-controlled JSON into JsonSerializer::unserialize() and contains classes with dangerous magic methods (such as __wakeup() or __destruct()), this may lead to PHP Object Injection and potentially Remote Code Execution (RCE), depending on available gadget chains in the application or its dependencies. This behavior is similar in risk profile to PHP's native unserialize() when used without the allowed_classes restriction. Applications are impacted only if untrusted or attacker-controlled JSON is passed into JsonSerializer::unserialize() and the application or its dependencies contain classes that can be leveraged as a gadget chain. This issue has been fixed in version 3.2.3. If an immediate upgrade isn't feasible, mitigate the vulnerability by never deserializing untrusted JSON with JsonSerializer::unserialize(), validating and sanitizing all JSON input before deserialization, and disabling @type-based object instantiation wherever possible.
Title Zumba Json Serializer has a potential PHP Object Injection via Unrestricted @type in unserialize()
Weaknesses CWE-502
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Zumba Json-serializer
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-24T18:57:10.054Z

Reserved: 2026-02-18T19:47:02.156Z

Link: CVE-2026-27206

cve-icon Vulnrichment

Updated: 2026-02-24T18:57:02.736Z

cve-icon NVD

Status : Deferred

Published: 2026-02-21T07:16:11.753

Modified: 2026-04-15T00:35:42.020

Link: CVE-2026-27206

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-17T17:00:10Z

Weaknesses