CVE-2022-26260
Description
A prototype pollution vulnerability in simple-plist v1.3.0 allows attackers to pollute Object.prototype via crafted plist XML during .parse().
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A prototype pollution vulnerability in simple-plist v1.3.0 allows attackers to pollute Object.prototype via crafted plist XML during .parse().
Vulnerability
Simple-Plist version 1.3.0 contains a prototype pollution vulnerability in the .parse() function. When parsing a specially crafted plist XML, the library does not filter keys such as __proto__, allowing an attacker to inject properties into Object.prototype [1][4].
Exploitation
An attacker can provide a malicious plist XML containing a __proto__ key with nested properties. The attack requires no authentication or special privileges; it only requires that the victim application calls plist.parse() on attacker-controlled input [4].
Impact
Successful exploitation allows the attacker to pollute Object.prototype with arbitrary properties, which can lead to unexpected behavior, denial of service, or further attacks depending on how the application uses the parsed object [4].
Mitigation
The vulnerability is fixed in simple-plist version 1.4.0, which updates the plist dependency to version 3.0.5 [3]. Users should upgrade to version 1.4.0 or later. No known workaround exists.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
simple-plistnpm | < 1.3.1 | 1.3.1 |
Affected products
2- Simple-Plist/Simple-Plistdescription
Patches
1670e22fd6e46fix: update plist to 3.0.5
5 files changed · +11 −11
package.json+1 −1 modified@@ -32,7 +32,7 @@ "dependencies": { "bplist-creator": "0.1.0", "bplist-parser": "0.3.0", - "plist": "^3.0.4" + "plist": "^3.0.5" }, "devDependencies": { "@types/jest": "^27.0.2",
.pnp.cjs+5 −5 modified@@ -44,7 +44,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest", "virtual:020fc7d94c59e3a3a9c7c102561baf39436220930bc71ae4b32b5080fe8189c54e6fb420af79d5d61c73eef83c6f1a6f5302cc6f1ef959b964e8f0dd7c434720#npm:27.3.1"], ["lint-staged", "npm:11.2.4"], ["npm-run-all", "npm:4.1.5"], - ["plist", "npm:3.0.4"], + ["plist", "npm:3.0.5"], ["prettier", "npm:2.4.1"], ["rimraf", "npm:3.0.2"], ["ts-jest", "virtual:020fc7d94c59e3a3a9c7c102561baf39436220930bc71ae4b32b5080fe8189c54e6fb420af79d5d61c73eef83c6f1a6f5302cc6f1ef959b964e8f0dd7c434720#npm:27.0.7"], @@ -4709,10 +4709,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["plist", [ - ["npm:3.0.4", { - "packageLocation": "./.yarn/cache/plist-npm-3.0.4-3d99846fa8-cb5883ed1b.zip/node_modules/plist/", + ["npm:3.0.5", { + "packageLocation": "./.yarn/cache/plist-npm-3.0.5-7ac7035402-f8b82816f6.zip/node_modules/plist/", "packageDependencies": [ - ["plist", "npm:3.0.4"], + ["plist", "npm:3.0.5"], ["base64-js", "npm:1.5.1"], ["xmlbuilder", "npm:9.0.7"] ], @@ -5092,7 +5092,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest", "virtual:020fc7d94c59e3a3a9c7c102561baf39436220930bc71ae4b32b5080fe8189c54e6fb420af79d5d61c73eef83c6f1a6f5302cc6f1ef959b964e8f0dd7c434720#npm:27.3.1"], ["lint-staged", "npm:11.2.4"], ["npm-run-all", "npm:4.1.5"], - ["plist", "npm:3.0.4"], + ["plist", "npm:3.0.5"], ["prettier", "npm:2.4.1"], ["rimraf", "npm:3.0.2"], ["ts-jest", "virtual:020fc7d94c59e3a3a9c7c102561baf39436220930bc71ae4b32b5080fe8189c54e6fb420af79d5d61c73eef83c6f1a6f5302cc6f1ef959b964e8f0dd7c434720#npm:27.0.7"],
.yarn/cache/plist-npm-3.0.4-3d99846fa8-cb5883ed1b.zip+0 −0 removed.yarn/cache/plist-npm-3.0.5-7ac7035402-f8b82816f6.zip+0 −0 addedyarn.lock+5 −5 modified@@ -3766,13 +3766,13 @@ fsevents@^2.3.2: languageName: node linkType: hard -"plist@npm:^3.0.4": - version: 3.0.4 - resolution: "plist@npm:3.0.4" +"plist@npm:^3.0.5": + version: 3.0.5 + resolution: "plist@npm:3.0.5" dependencies: base64-js: ^1.5.1 xmlbuilder: ^9.0.7 - checksum: cb5883ed1b1aa227ddc5f99003750d312a8ac5cfd6f58d3ce0b24939255b175b54f25ebc6adcbd4266105ffd54f6831acb6cb06f529652bb3344215c10f5601b + checksum: f8b82816f66559965a4dabf139bd8dd95cdec7e51f32742bb353af276ea8228b9807113743b860eda3e867f6ed70d2bcbc1e135b3204d92b5c37ac765f68444e languageName: node linkType: hard @@ -4108,7 +4108,7 @@ fsevents@^2.3.2: jest: ^27.3.1 lint-staged: ^11.2.4 npm-run-all: ^4.1.5 - plist: ^3.0.4 + plist: ^3.0.5 prettier: ^2.4.1 rimraf: ^3.0.2 ts-jest: ^27.0.7
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-gff7-g5r8-mg8mghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-26260ghsaADVISORY
- github.com/wollardj/simple-plist/commit/670e22fd6e46549a1d32d1065981e0f58eab98d6ghsaWEB
- github.com/wollardj/simple-plist/issues/60ghsax_refsource_MISCWEB
- github.com/wollardj/simple-plist/issues/60ghsaWEB
News mentions
0No linked articles in our index yet.