CVE-2020-14000 – scratch-vm
Package
Manager: npm
Name: scratch-vm
Vulnerable Version: >=0 <0.2.0-prerelease.20200714185213
Severity
Level: Critical
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS: 0.06601 pctl0.90803
Details
Remote Code Execution in scratch-vm 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.
Metadata
Created: 2020-07-27T19:55:52Z
Modified: 2023-09-12T18:20:33Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/07/GHSA-vc9j-fhvv-8vrf/GHSA-vc9j-fhvv-8vrf.json
CWE IDs: ["CWE-502"]
Alternative ID: GHSA-vc9j-fhvv-8vrf
Finding: F096
Auto approve: 1