{"cve":"CVE-2020-14000","nvd":{"published":"2020-07-16T15:15:27.860","modified":"2026-06-17T02:54:04.837","status":"Modified","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_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8},"cwes":["CWE-502"],"references":["https://github.com/LLK/scratch-vm/pull/2476","https://scratch.mit.edu/discuss/topic/422904/?page=1#post-4223443","https://github.com/LLK/scratch-vm/pull/2476","https://scratch.mit.edu/discuss/topic/422904/?page=1#post-4223443"],"products":["mit:scratch-vm"],"source":"nvd","synced_at":"2026-10-19T21:06:22.076270124+00:00"},"epss":{"cve":"CVE-2020-14000","score":0.0283,"percentile":0.86621,"date":"2026-11-01"},"kev":null,"osv":[{"id":"GHSA-vc9j-fhvv-8vrf","url":"https://osv.dev/vulnerability/GHSA-vc9j-fhvv-8vrf","summary":"Remote Code Execution in scratch-vm","modified":"2023-11-08T04:02:24.878433Z","packages":[{"ecosystem":"npm","name":"scratch-vm","purl":"pkg:npm/scratch-vm","ranges":["<0.2.0-prerelease.20200714185213"],"fixed":["0.2.0-prerelease.20200714185213"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}