CWE-502
AllowedDeserialization of Untrusted Data
Abstraction: Base · Status: Draft
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
4798 vulnerabilities reference this CWE, most recent first.
GHSA-V7CM-MPCM-37F9
Vulnerability from github – Published: 2025-05-23 15:31 – Updated: 2026-04-28 21:35Deserialization of Untrusted Data vulnerability in themeton The Business allows Object Injection. This issue affects The Business: from n/a through 1.6.1.
{
"affected": [],
"aliases": [
"CVE-2025-31430"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-05-23T13:15:27Z",
"severity": "CRITICAL"
},
"details": "Deserialization of Untrusted Data vulnerability in themeton The Business allows Object Injection. This issue affects The Business: from n/a through 1.6.1.",
"id": "GHSA-v7cm-mpcm-37f9",
"modified": "2026-04-28T21:35:38Z",
"published": "2025-05-23T15:31:09Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-31430"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/theme/nrgbusiness/vulnerability/wordpress-the-business-1-6-1-php-object-injection-vulnerability?_s_id=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-V7M3-FPCR-H7M2
Vulnerability from github – Published: 2026-02-19 22:05 – Updated: 2026-02-23 22:28Description
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:
$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
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "zumba/json-serializer"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-27206"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-19T22:05:40Z",
"nvd_published_at": "2026-02-21T07:16:11Z",
"severity": "HIGH"
},
"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\u0027s 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\u0027s 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-\u003esetAllowedClasses([]);\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",
"id": "GHSA-v7m3-fpcr-h7m2",
"modified": "2026-02-23T22:28:11Z",
"published": "2026-02-19T22:05:40Z",
"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"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Zumba Json Serializer has a potential PHP Object Injection via Unrestricted @type in unserialize()"
}
GHSA-V7MH-3JGF-R26C
Vulnerability from github – Published: 2022-05-17 01:42 – Updated: 2024-02-06 16:02OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "swift"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.7.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2012-4406"
],
"database_specific": {
"cwe_ids": [
"CWE-502",
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2023-02-08T17:56:11Z",
"nvd_published_at": "2012-10-22T23:55:00Z",
"severity": "CRITICAL"
},
"details": "OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.",
"id": "GHSA-v7mh-3jgf-r26c",
"modified": "2024-02-06T16:02:43Z",
"published": "2022-05-17T01:42:16Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2012-4406"
},
{
"type": "WEB",
"url": "https://github.com/openstack/swift/commit/e1ff51c04554d51616d2845f92ab726cb0e5831a"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2012:1379"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2013:0691"
},
{
"type": "WEB",
"url": "https://access.redhat.com/security/cve/CVE-2012-4406"
},
{
"type": "WEB",
"url": "https://bugs.launchpad.net/swift/+bug/1006414"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=854757"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/79140"
},
{
"type": "WEB",
"url": "https://launchpad.net/swift/+milestone/1.7.0"
},
{
"type": "PACKAGE",
"url": "https://opendev.org/openstack/swift"
},
{
"type": "WEB",
"url": "https://web.archive.org/web/20130629092623/http://www.securityfocus.com/bid/55420"
},
{
"type": "WEB",
"url": "http://lists.fedoraproject.org/pipermail/package-announce/2012-October/089472.html"
},
{
"type": "WEB",
"url": "http://rhn.redhat.com/errata/RHSA-2012-1379.html"
},
{
"type": "WEB",
"url": "http://rhn.redhat.com/errata/RHSA-2013-0691.html"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2012/09/05/16"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2012/09/05/4"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/55420"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "OpenStack Object Storage (swift) Code Injection vulnerability"
}
GHSA-V7QJ-G6J7-8WQ9
Vulnerability from github – Published: 2023-10-19 15:31 – Updated: 2024-04-04 08:48The SolarWinds Access Rights Manager was susceptible to Remote Code Execution Vulnerability. This vulnerability allows an authenticated user to abuse SolarWinds service resulting in remote code execution.
{
"affected": [],
"aliases": [
"CVE-2023-35186"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-10-19T15:15:09Z",
"severity": "HIGH"
},
"details": "The SolarWinds Access Rights Manager was susceptible to Remote Code Execution Vulnerability. This vulnerability allows an authenticated user to abuse SolarWinds service resulting in remote code execution.",
"id": "GHSA-v7qj-g6j7-8wq9",
"modified": "2024-04-04T08:48:17Z",
"published": "2023-10-19T15:31:07Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-35186"
},
{
"type": "WEB",
"url": "https://documentation.solarwinds.com/en/success_center/arm/content/release_notes/arm_2023-2-1_release_notes.htm"
},
{
"type": "WEB",
"url": "https://www.solarwinds.com/trust-center/security-advisories/CVE-2023-35186"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-V7V2-M736-CF3C
Vulnerability from github – Published: 2026-03-24 21:31 – Updated: 2026-04-01 23:13NVIDIA NeMo Framework contains a vulnerability where an attacker may cause remote code execution. A successful exploit of this vulnerability might lead to code execution, escalation of privileges, information disclosure and data tampering.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "nemo-toolkit"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.6.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-24159"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": true,
"github_reviewed_at": "2026-04-01T23:13:53Z",
"nvd_published_at": "2026-03-24T21:16:28Z",
"severity": "HIGH"
},
"details": "NVIDIA NeMo Framework contains a vulnerability where an attacker may cause remote code execution. A successful exploit of this vulnerability might lead to code execution, escalation of privileges, information disclosure and data tampering.",
"id": "GHSA-v7v2-m736-cf3c",
"modified": "2026-04-01T23:13:53Z",
"published": "2026-03-24T21:31:24Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-24159"
},
{
"type": "PACKAGE",
"url": "https://github.com/NVIDIA-NeMo/NeMo"
},
{
"type": "WEB",
"url": "https://nvidia.custhelp.com/app/answers/detail/a_id/5800"
},
{
"type": "WEB",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-24159"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "NVIDIA NeMo Framework contains a vulnerability leading to Remote Code Execution"
}
GHSA-V7WV-GWXH-88F9
Vulnerability from github – Published: 2022-05-13 01:24 – Updated: 2022-05-13 01:24The sandbox implementation in Google Chrome before 6.0.472.53 does not properly deserialize parameters, which has unspecified impact and remote attack vectors.
{
"affected": [],
"aliases": [
"CVE-2010-3258"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2010-09-07T18:00:00Z",
"severity": "HIGH"
},
"details": "The sandbox implementation in Google Chrome before 6.0.472.53 does not properly deserialize parameters, which has unspecified impact and remote attack vectors.",
"id": "GHSA-v7wv-gwxh-88f9",
"modified": "2022-05-13T01:24:32Z",
"published": "2022-05-13T01:24:32Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2010-3258"
},
{
"type": "WEB",
"url": "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A12133"
},
{
"type": "WEB",
"url": "http://code.google.com/p/chromium/issues/detail?id=52682"
},
{
"type": "WEB",
"url": "http://googlechromereleases.blogspot.com/2010/09/stable-and-beta-channel-updates.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-V82R-X75J-XWXM
Vulnerability from github – Published: 2022-05-24 17:40 – Updated: 2022-05-24 17:40M&M Software fdtCONTAINER Component in versions below 3.5.20304.x and between 3.6 and 3.6.20304.x is vulnerable to deserialization of untrusted data in its project storage.
{
"affected": [],
"aliases": [
"CVE-2020-12525"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-01-22T19:15:00Z",
"severity": "HIGH"
},
"details": "M\u0026M Software fdtCONTAINER Component in versions below 3.5.20304.x and between 3.6 and 3.6.20304.x is vulnerable to deserialization of untrusted data in its project storage.",
"id": "GHSA-v82r-x75j-xwxm",
"modified": "2022-05-24T17:40:03Z",
"published": "2022-05-24T17:40:03Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-12525"
},
{
"type": "WEB",
"url": "https://cert.vde.com/en-us/advisories/vde-2020-038"
},
{
"type": "WEB",
"url": "https://us-cert.cisa.gov/ics/advisories/icsa-21-021-05"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-V895-7M89-39V8
Vulnerability from github – Published: 2025-12-18 09:30 – Updated: 2026-01-20 15:32Deserialization of Untrusted Data vulnerability in BoldThemes Codiqa codiqa allows Object Injection.This issue affects Codiqa: from n/a through < 1.2.8.
{
"affected": [],
"aliases": [
"CVE-2025-64233"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-12-18T08:16:12Z",
"severity": "CRITICAL"
},
"details": "Deserialization of Untrusted Data vulnerability in BoldThemes Codiqa codiqa allows Object Injection.This issue affects Codiqa: from n/a through \u003c 1.2.8.",
"id": "GHSA-v895-7m89-39v8",
"modified": "2026-01-20T15:32:31Z",
"published": "2025-12-18T09:30:29Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-64233"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/Wordpress/Theme/codiqa/vulnerability/wordpress-codiqa-theme-1-2-8-php-object-injection-vulnerability?_s_id=cve"
},
{
"type": "WEB",
"url": "https://vdp.patchstack.com/database/Wordpress/Theme/codiqa/vulnerability/wordpress-codiqa-theme-1-2-8-php-object-injection-vulnerability?_s_id=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-V89W-QQFC-FPH2
Vulnerability from github – Published: 2022-05-24 19:02 – Updated: 2022-05-24 19:02This vulnerability allows remote attackers to execute arbitrary code on affected installations of SolarWinds Network Performance Monitor 2020.2.1. Authentication is not required to exploit this vulnerability. The specific flaw exists within the SolarWinds.Serialization library. The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of SYSTEM. Was ZDI-CAN-12213.
{
"affected": [],
"aliases": [
"CVE-2021-31474"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-05-21T15:15:00Z",
"severity": "CRITICAL"
},
"details": "This vulnerability allows remote attackers to execute arbitrary code on affected installations of SolarWinds Network Performance Monitor 2020.2.1. Authentication is not required to exploit this vulnerability. The specific flaw exists within the SolarWinds.Serialization library. The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of SYSTEM. Was ZDI-CAN-12213.",
"id": "GHSA-v89w-qqfc-fph2",
"modified": "2022-05-24T19:02:56Z",
"published": "2022-05-24T19:02:56Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-31474"
},
{
"type": "WEB",
"url": "https://documentation.solarwinds.com/en/success_center/sam/content/release_notes/sam_2020-2-5_release_notes.htm"
},
{
"type": "WEB",
"url": "https://www.zerodayinitiative.com/advisories/ZDI-21-602"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-V8H4-8WCW-7GJP
Vulnerability from github – Published: 2026-06-17 18:35 – Updated: 2026-06-17 18:35The Counter Box – Add Countdowns, Timers & Dynamic Counters to WordPress plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 2.0.13 via deserialization of untrusted input . This makes it possible for authenticated attackers, with administrator-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. Deserialization is triggered automatically upon the post-import redirect that renders the list table, and again when any item is opened for editing, requiring no additional navigation beyond the import action itself.
{
"affected": [],
"aliases": [
"CVE-2026-12115"
],
"database_specific": {
"cwe_ids": [
"CWE-502"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-06-17T13:19:57Z",
"severity": "MODERATE"
},
"details": "The Counter Box \u2013 Add Countdowns, Timers \u0026 Dynamic Counters to WordPress plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 2.0.13 via deserialization of untrusted input . This makes it possible for authenticated attackers, with administrator-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. Deserialization is triggered automatically upon the post-import redirect that renders the list table, and again when any item is opened for editing, requiring no additional navigation beyond the import action itself.",
"id": "GHSA-v8h4-8wcw-7gjp",
"modified": "2026-06-17T18:35:45Z",
"published": "2026-06-17T18:35:45Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-12115"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/counter-box/tags/2.0.13/classes/Admin/DBManager.php#L168"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/counter-box/tags/2.0.13/classes/Admin/ImporterExporter.php#L101"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/counter-box/tags/2.0.13/classes/Admin/ListTable.php#L53"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/counter-box/tags/2.0.13/classes/Admin/Settings.php#L155"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=\u0026sfph_mail=\u0026reponame=\u0026old=3570995%40counter-box\u0026new=3570995%40counter-box\u0026sfp_email=\u0026sfph_mail="
},
{
"type": "WEB",
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/3498c871-9404-4d12-9609-16fecf218b30?source=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
Mitigation
If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified.
Mitigation
When deserializing data, populate a new object rather than just deserializing. The result is that the data flows through safe input validation and that the functions are safe.
Mitigation
Explicitly define a final object() to prevent deserialization.
Mitigation
- Make fields transient to protect them from deserialization.
- An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.
Mitigation
Avoid having unnecessary types or gadgets (a sequence of instances and method invocations that can self-execute during the deserialization process, often found in libraries) available that can be leveraged for malicious ends. This limits the potential for unintended or unauthorized types and gadgets to be leveraged by the attacker. Add only acceptable classes to an allowlist. Note: new gadgets are constantly being discovered, so this alone is not a sufficient mitigation.
Mitigation
Employ cryptography of the data or code for protection. However, it's important to note that it would still be client-side security. This is risky because if the client is compromised then the security implemented on the client (the cryptography) can be bypassed.
Mitigation MIT-29
Strategy: Firewall
Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].
CAPEC-586: Object Injection
An adversary attempts to exploit an application by injecting additional, malicious content during its processing of serialized objects. Developers leverage serialization in order to convert data or state into a static, binary format for saving to disk or transferring over a network. These objects are then deserialized when needed to recover the data/state. By injecting a malformed object into a vulnerable application, an adversary can potentially compromise the application by manipulating the deserialization process. This can result in a number of unwanted outcomes, including remote code execution.