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 |
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
History
21 Nov 2024, 05:02
Type | Values Removed | Values Added |
---|---|---|
References | () https://github.com/LLK/scratch-vm/pull/2476 - Third Party Advisory | |
References | () https://scratch.mit.edu/discuss/topic/422904/?page=1#post-4223443 - Vendor Advisory |
Information
Published : 2020-07-16 15:15
Updated : 2024-11-21 05:02
NVD link : CVE-2020-14000
Mitre link : CVE-2020-14000
CVE.ORG link : CVE-2020-14000
JSON object : View
Products Affected
mit
- scratch-vm
CWE
CWE-502
Deserialization of Untrusted Data