Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CWE-1321 — Vulnerability Class 142

142 vulnerabilities classified as CWE-1321. AI Chinese analysis included.

CWE-1321 represents a critical vulnerability where applications fail to restrict modifications to an object’s prototype attributes, allowing attackers to inject malicious properties into the global prototype chain. This weakness is typically exploited by crafting specific input payloads that target JavaScript objects, enabling the injection of arbitrary keys such as constructor or prototype references. Successful exploitation can lead to severe consequences, including remote code execution, denial of service, or privilege escalation, as the injected properties affect all subsequent instances of the affected object. To mitigate this risk, developers must implement strict input validation, utilize libraries that freeze prototypes, or employ object creation methods that do not inherit from the global prototype, such as Object.create(null). Additionally, avoiding the use of unsafe recursive merge functions and sanitizing user-controlled data before processing are essential practices for preventing prototype pollution attacks in modern web applications.

MITRE CWE Description
The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.
Common Consequences (2)
Confidentiality, Integrity, AvailabilityRead Application Data, Modify Application Data
This weakness is usually exploited by using a special attribute of objects called proto, constructor, or prototype. Such attributes give access to the object prototype. An attacker can inject attributes that are used in other components by adding or modifying attributes of an object prototype. This …
AvailabilityDoS: Crash, Exit, or Restart
An attacker can override existing attributes with ones that have incompatible type, which may lead to a crash.
Mitigations (5)
ImplementationBy freezing the object prototype first (for example, Object.freeze(Object.prototype)), modification of the prototype becomes impossible.
Effectiveness: High
Architecture and DesignBy blocking modifications of attributes that resolve to object prototype, such as proto or prototype, this weakness can be mitigated.
Effectiveness: High
ImplementationWhen handling untrusted objects, validating using a schema can be used.
Effectiveness: Limited
ImplementationBy using an object without prototypes (via Object.create(null) ), adding object prototype attributes by accessing the prototype via the special attributes becomes impossible, mitigating this weakness.
Effectiveness: High
ImplementationMap can be used instead of objects in most cases. If Map methods are used instead of object attributes, it is not possible to access the object prototype or modify it.
Effectiveness: Moderate
Examples (1)
This function sets object attributes based on a dot-separated path.
function setValueByPath (object, path, value) { const pathArray = path.split("."); const attributeToSet = pathArray.pop(); let objectToModify = object; for (const attr of pathArray) { if (typeof objectToModify[attr] !== 'object') { objectToModify[attr] = {}; } objectToModify = objectToModify[attr]; } objectToModify[attributeToSet] = value; return object; }
Bad · JavaScript
setValueByPath({}, "__proto__.isAdmin", true) setValueByPath({}, "constructor.prototype.isAdmin", true)
Bad · JavaScript
CVE IDTitleCVSSSeverityPublished
CVE-2025-49223 billboard.js 安全漏洞 — billboard.js 9.8AICriticalAI2025-06-04
CVE-2025-48054 Radashi Vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') — radashi 9.8AICriticalAI2025-05-27
CVE-2025-5150 docarray Web API torch_dataset.py __getitem__ prototype pollution — docarray 6.3 Medium2025-05-25
CVE-2025-25014 Kibana arbitrary code execution via prototype pollution — Kibana 9.1 Critical2025-05-06
CVE-2025-3982 nortikin Sverchok Set Property Mk2 Node getsetprop_mk2.py SvSetPropNodeMK2 prototype pollution — Sverchok 4.3 Medium2025-04-27
CVE-2024-12556 Kibana Prototype Pollution can lead to code injection — Kibana 8.7 High2025-04-08
CVE-2025-32014 estree-util-value-to-estree allows prototype pollution in generated ESTree — estree-util-value-to-estree 6.5AIMediumAI2025-04-07
CVE-2025-31475 tarteaucitron.js allows prototype pollution via custom text injection — tarteaucitron.js 5.5 Medium2025-04-07
CVE-2025-3197 expand-object 安全漏洞 — expand-object 7.3 High2025-04-04
CVE-2025-27597 Vue I18n Prototype Pollution in `handleFlatJson` — vue-i18n 9.8 -2025-03-07
CVE-2025-25015 Kibana arbitrary code execution via prototype pollution — Kibana 9.9 Critical2025-03-05
CVE-2024-11628 Prototype Pollution in Progress® Telerik® Kendo UI for Vue — Progress® Telerik® Kendo UI for Vue 4.1 Medium2025-02-12
CVE-2024-12629 Prototype Pollution in Progress® Telerik® KendoReact — Telerik KendoReact 4.1 Medium2025-02-12
CVE-2024-56059 WordPress Partners plugin <= 0.2.0 - PHP Object Injection vulnerability — Partners 9.8 Critical2024-12-18
CVE-2024-21548 Bun 安全漏洞 — bun 7.5 High2024-12-18
CVE-2024-54156 JetBrains YouTrack 安全漏洞 — YouTrack 4.2 Medium2024-12-04
CVE-2024-52810 Prototype Pollution in @intlify/shared >=9.7.0 <= 10.0.4 — vue-i18n 9.1 -2024-11-29
CVE-2023-0163 Prototype Pollution in convict — Convict 8.1AIHighAI2024-11-26
CVE-2024-52441 WordPress Quick Learn plugin <= 1.0.1 - PHP Object Injection vulnerability — Quick Learn 9.8 Critical2024-11-20
CVE-2024-48910 DOMPurify vulnerable to tampering by prototype polution — DOMPurify 9.1 Critical2024-10-31
CVE-2024-45277 Prototype Pollution vulnerability in SAP HANA Client — SAP HANA Client 4.3 Medium2024-10-08
CVE-2024-21489 uPlot 安全漏洞 — uplot 8.2 High2024-10-01
CVE-2024-45815 Prototype pollution in @backstage/plugin-catalog-backend — backstage 6.5 Medium2024-09-17
CVE-2024-21529 Lukeed dset 安全漏洞 — dset 8.2 High2024-09-11
CVE-2024-21528 node-gettext 安全漏洞 — node-gettext 5.9 Medium2024-09-10
CVE-2024-21512 MySQL2 安全漏洞 — mysql2 8.2 High2024-05-29
CVE-2024-34698 Prototype Pollution in getQueryParam Function (URL Query Parser) — freescout 4.6 Medium2024-05-13
CVE-2024-32866 Conform contains Prototype Pollution Vulnerability in `parseWith...` function — conform 8.6 High2024-04-23
CVE-2024-21509 MySQL2 安全漏洞 — mysql2 6.5 Medium2024-04-10
CVE-2024-21505 Web3.js 安全漏洞 — web3-utils 7.5 High2024-03-25

Vulnerabilities classified as CWE-1321 represent 142 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.