PT-2020-13829 · Mit Lifelong Kindergarten Scratch · Scratch-Vm
Apple502J
·
Published
2020-07-16
·
Updated
2020-07-27
·
CVE-2020-14000
CVSS v3.1
9.8
Critical
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Name of the Vulnerable Software and Affected Versions
MIT Lifelong Kindergarten Scratch scratch-vm versions before 0.2.0-prerelease.20200714185213
Description
The issue results in remote code execution because the URL's content is treated as a script and is executed as a worker when extension URLs are loaded from untrusted project.json files with certain
characters. The responsible code is getExtensionIdForOpcode in serialization/sb3.js. This is due to the incompatibility of the character with a protection mechanism in older versions, where URLs were split, preventing deserialization attacks. The scratch.mit.edu hosted service is not affected due to the lack of worker scripts.Recommendations
For versions before 0.2.0-prerelease.20200714185213, consider updating to a version that includes the fix for this issue to prevent remote code execution. As a temporary workaround, consider restricting the use of
characters in project.json files or disabling the execution of worker scripts until a patch is available.Fix
Deserialization of Untrusted Data
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Scratch-Vm