CVE-2020-7770 json
Prototype Pollution
published 5y ago modified 4mo ago also GHSA-7h43-gx24-p529 , EUVD-2021-0999
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.9%
- EPSS 1.9% chance of exploitation in 30 days, percentile 79%
- public exploits
- 0
- none known
Summary
This affects the package json8 before 1.0.3. The function adds in the target object the property specified in the path, however it does not properly check the key being set, leading to a prototype pollution.
Patch / fix
Is CVE-2020-7770 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
1.89% chance of exploitation in the next 30 days, higher than 79% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- snyk.io https://snyk.io/vuln/SNYK-JS-JSON8-1017116 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | json8 | <1.0.3 |
1.0.3 |
Affected products
- n/a json8
Classification
- Weakness
-
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes
References
-
github.com
/sonnyp/JSON8/commit/2e890261b66cbc54ae01d0c79c71b0fd18379e7e
web, patch, third-party-advisory
-
snyk.io
/vuln/SNYK-JS-JSON8-1017116
web, exploit, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-7770
advisory
-
npmjs.com
/package/json8
web
Sources
- CVE List CVE-2020-7770
- GitHub Advisory GHSA-7h43-gx24-p529
- NVD CVE-2020-7770
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.