CVE-2020-14000: mit scratch-vm Deserialization of Untrusted Data
Vulnerability summary
CVE-2020-14000 is a critical (CVSS 9.8) Deserialization of Untrusted Data vulnerability in mit scratch-vm. EPSS estimates a 2.83% chance of exploitation in the next 30 days, higher than 86.4% of scored vulnerabilities.
Timeline
- 16-07-2020PublishedVulnerability first disclosed.
- 04-08-2024Last modifiedVulnerability information updated.
Description
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.
CVSS metrics
3 scores · 2 sources · 2 versions- OSV · NpmEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS trend
Probability
2.83%
Chance of exploitation in the next 30 days
Percentile
86%
Versus all other CVEs
30-day change
0.00 pp
From 2.83% on 18-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Mit1 product
- scratch-vm< 0.2.0-prerelease.20200714185213
Npm1 product
- scratch-vm< 0.2.0-prerelease.20200714185213
2 vendors · 2 products
References
5 links- github.com/LLK/scratch-vmPACKAGE