Vulnerability Details : CVE-2020-14000
MIT Lifelong Kindergarten Scratch scratch-vm before 0.2.0-prerelease.20200714185213 loads extension URLs from untrusted project.json files with certain _ characters, resulting in remote code execution because the URL's content is treated as a script and is executed as a worker. The responsible code is getExtensionIdForOpcode in serialization/sb3.js. The use of _ is incompatible with a protection mechanism in older versions, in which URLs were split and consequently deserialization attacks were prevented. NOTE: the scratch.mit.edu hosted service is not affected because of the lack of worker scripts.
Vulnerability category: Execute code
Products affected by CVE-2020-14000
- cpe:2.3:a:mit:scratch-vm:*:*:*:*:*:*:*:*
Exploit prediction scoring system (EPSS) score for CVE-2020-14000
6.60%
Probability of exploitation activity in the next 30 days
EPSS Score History
~ 90 %
Percentile, the proportion of vulnerabilities that are scored at or less
CVSS scores for CVE-2020-14000
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source | First Seen |
---|---|---|---|---|---|---|
7.5
|
HIGH | AV:N/AC:L/Au:N/C:P/I:P/A:P |
10.0
|
6.4
|
NIST | |
9.8
|
CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
3.9
|
5.9
|
NIST |
CWE ids for CVE-2020-14000
-
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.Assigned by: nvd@nist.gov (Primary)
References for CVE-2020-14000
-
https://github.com/LLK/scratch-vm/pull/2476
sanitize extension ID in getExtensionIdForOpcode by cwillisf · Pull Request #2476 · LLK/scratch-vm · GitHubThird Party Advisory
-
https://scratch.mit.edu/discuss/topic/422904/?page=1#post-4223443
CVE-2020-14000: Script Injection vulnerability in scratch-vm - Discuss ScratchVendor Advisory
Jump to