CVE-2026-27206: Zumba/json serializer Zumba Json Serializer Has A Vulnerability

HIGH
Advisory Identifier: GHSA-v7m3-fpcr-h7m2
CVSS 8.1
CWE-502
Published
Advisory Summary

CVE-2026-27206 is a HIGH (CVSS 8.1) zumba json serializer has a vulnerability (CWE-502: Deserialization of Untrusted Data) affecting Zumba/json serializer libraries in the Packagist ecosystem. The issue involves zumba json serializer has a potential php object injection via unrestricted @type in unserialize(). Remediation is available by upgrading affected packages to version 3.2.3.

CVE-2026-27206 at a Glance

CVE Identifier CVE-2026-27206
GHSA Identifier GHSA-v7m3-fpcr-h7m2
Severity HIGH
CVSS v3.1 Base Score 8.1
CWE Classification CWE-502: Deserialization of Untrusted Data
Affected Product Zumba/json serializer
Package Ecosystem Packagist
Published Date
Last Updated

Security Impact

CVSS: 8.1

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H).

Attack Vector Network (AV:N)
Attack Complexity High (AC:H)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity High (I:H)
Availability High (A:H)

How to Fix CVE-2026-27206

To remediate this vulnerability, upgrade all affected Zumba/json serializer dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

zumba/json-serializer fixed: 3.2.3
Upgrade zumba/json-serializer to 3.2.3
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for zumba/json-serializer

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-27206, inspect your project dependencies for Zumba/json serializer:

inspect dependencies for zumba/json-serializer

Analyze the terminal output to locate any version of Zumba/json serializer in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 3.2.3), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-502: Deserialization of Untrusted Data, where the product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid. In Zumba/json serializer, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Description The `zumba/json-serializer` library allows deserialization of PHP objects from JSON using a special `@type` field. Prior to version 3.2.3, the deserializer would instantiate 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. ### Impact This vulnerability allows instantiation of arbitrary PHP classes via the `@type` field when deserializing JSON. 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. Successful exploitation may lead to: * Arbitrary code execution * Data exfiltration * File manipulation * Denial of service Applications that only deserialize trusted data are not affected. ### Patches This issue is mitigated in version 3.2.3. Version 3.2.3 introduces the method: `setAllowedClasses(?array $allowedClasses)` This allows applications to restrict which classes may be instantiated during deserialization, similar to PHP's native `unserialize()` `allowed_classes` option. Users should upgrade to version 3.2.3 or later and configure an appropriate class allowlist. ### Workarounds If upgrading is not immediately possible, applications should ensure that: * `JsonSerializer::unserialize()` is never called on untrusted or attacker-controlled JSON. * JSON input is validated and sanitized before deserialization. * Object instantiation via `@type` is disabled in application logic where possible. After upgrading, users can mitigate risk by explicitly configuring: ```php $serializer->setAllowedClasses([]); ``` to disable all object instantiation, or by providing a strict allowlist of safe classes. ### References * CWE-502: https://cwe.mitre.org/data/definitions/502.html * PHP `unserialize()` documentation: https://www.php.net/manual/en/function.unserialize.php * OWASP PHP Object Injection: https://owasp.org/www-community/vulnerabilities/PHP_Object_Injection

CVE-2026-27206 Affected Zumba/json serializer Versions

1 component(s)
Fixed Versions:
3.2.3
Product / Package Ecosystem Affected Versions Fixed Version
zumba/json-serializer
Packagist
< 3.2.3
3.2.3

References

Frequently Asked Questions

What is CVE-2026-27206?
CVE-2026-27206 is a security vulnerability in Zumba/json serializer involving Zumba Json Serializer has a potential PHP Object Injection via Unrestricted @type in unserialize() under CWE-502: Deserialization of Untrusted Data.
Which Zumba/json serializer versions are affected?
Affected versions include releases prior to 3.2.3 across affected packages: zumba/json-serializer.
What version fixes CVE-2026-27206?
Upgrading to 3.2.3 (or the latest patched release for your respective branch) resolves the vulnerability.
Is zumba/json-serializer affected?
Yes, zumba/json-serializer is affected in releases prior to 3.2.3. Upgrade your dependency to 3.2.3 or later.
What is the CVSS score of CVE-2026-27206?
CVE-2026-27206 has a CVSS v3.1 base score of 8.1 (HIGH) with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.
What CWE is associated with CVE-2026-27206?
CVE-2026-27206 is classified under CWE-502: Deserialization of Untrusted Data (The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.).
How can I check Packagist dependencies for CVE-2026-27206?
Run the dependency tree command: 'inspect dependencies for zumba/json-serializer'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-v7m3-fpcr-h7m2",
  "modified" : "2026-02-23T22:28:11Z",
  "published" : "2026-02-19T22:05:40Z",
  "aliases" : [ "CVE-2026-27206" ],
  "summary" : "Zumba Json Serializer has a potential PHP Object Injection via Unrestricted @type in unserialize()",
  "details" : "### Description\n\nThe `zumba/json-serializer` library allows deserialization of PHP objects from JSON using a special `@type` field.\n\nPrior to version 3.2.3, the deserializer would instantiate 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.\n\nIf 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.\n\nThis behavior is similar in risk profile to PHP's native `unserialize()` when used without the `allowed_classes` restriction.\n\n### Impact\n\nThis vulnerability allows instantiation of arbitrary PHP classes via the `@type` field when deserializing JSON.\n\nApplications are impacted only if:\n* Untrusted or attacker-controlled JSON is passed into `JsonSerializer::unserialize()`, and\n* The application or its dependencies contain classes that can be leveraged as a gadget chain.\n\nSuccessful exploitation may lead to:\n* Arbitrary code execution\n* Data exfiltration\n* File manipulation\n* Denial of service\n\nApplications that only deserialize trusted data are not affected.\n\n### Patches\n\nThis issue is mitigated in version 3.2.3.\n\nVersion 3.2.3 introduces the method: `setAllowedClasses(?array $allowedClasses)`\n\nThis allows applications to restrict which classes may be instantiated during deserialization, similar to PHP's native `unserialize()` `allowed_classes` option.\n\nUsers should upgrade to version 3.2.3 or later and configure an appropriate class allowlist.\n\n### Workarounds\n\nIf upgrading is not immediately possible, applications should ensure that:\n* `JsonSerializer::unserialize()` is never called on untrusted or attacker-controlled JSON.\n* JSON input is validated and sanitized before deserialization.\n* Object instantiation via `@type` is disabled in application logic where possible.\n\nAfter upgrading, users can mitigate risk by explicitly configuring:\n\n```php\n$serializer->setAllowedClasses([]);\n```\n\nto disable all object instantiation, or by providing a strict allowlist of safe classes.\n\n### References\n\n* CWE-502: https://cwe.mitre.org/data/definitions/502.html\n* PHP `unserialize()` documentation: https://www.php.net/manual/en/function.unserialize.php\n* OWASP PHP Object Injection: https://owasp.org/www-community/vulnerabilities/PHP_Object_Injection",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Packagist",
      "name" : "zumba/json-serializer"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "3.2.3"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/zumba/json-serializer/security/advisories/GHSA-v7m3-fpcr-h7m2"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-27206"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/zumba/json-serializer/commit/bf26227879adefce75eb9651040d8982be97b881"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/zumba/json-serializer"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/zumba/json-serializer/releases/tag/3.2.3"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-502" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-02-19T22:05:40Z",
    "nvd_published_at" : "2026-02-21T07:16:11Z"
  }
}