MIT Lifelong Kindergarten Scratch scratch-vm before 0.2.0-prerelease.20200714185213 loads…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-502.
Summary
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | — | all versions | — | No fix listed | CNA |
| — | scratch-vm (npm) | before 0.2.0-prerelease.20200714185213 | 0.2.0-prerelease.20200714185213 | Patch available | GHSA-vc9j-fhvv-8vrf |
- — Vendor— Affected all versions Fixed in — No fix listed CNA
- scratch-vm (npm) Vendor— Affected before 0.2.0-prerelease.20200714185213 Fixed in 0.2.0-prerelease.20200714185213 Patch available GHSA-vc9j-fhvv-8vrf
Remediation
- Fix · GHSA-vc9j-fhvv-8vrf scratch-vm (npm) Fixed in 0.2.0-prerelease.20200714185213 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2020-14000
- 2026-10-03 Alias added: GHSA-vc9j-fhvv-8vrf
References
Sources
- CVE-2020-14000 · CVE Program
- CVE-2020-14000 · NVD
- FIRST EPSS
- GHSA-vc9j-fhvv-8vrf · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences