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.
References
Link | Resource |
---|---|
https://github.com/LLK/scratch-vm/pull/2476 | Third Party Advisory |
https://scratch.mit.edu/discuss/topic/422904/?page=1#post-4223443 | Vendor Advisory |
Configurations
Information
Published : 2020-07-16 08:15
Updated : 2020-07-24 08:02
NVD link : CVE-2020-14000
Mitre link : CVE-2020-14000
JSON object : View
CWE
CWE-502
Deserialization of Untrusted Data
Products Affected
mit
- scratch-vm