Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. scratch-vm
  4. ›
  5. CVE-2020-14000

CVE-2020-14000: Deserialization of Untrusted Data

July 16, 2020 (updated July 24, 2020)

MIT Lifelong Kindergarten Scratch scratch-vm loads extension URLs from untrusted project.json files with certain _ characters, resulting in remote code execution because the URL 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.

References

  • nvd.nist.gov/vuln/detail/CVE-2020-14000
  • scratch.mit.edu/discuss/topic/422904/?page=1

Code Behaviors & Features

Detect and mitigate CVE-2020-14000 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 0.2.0-prerelease.20200714185213

Solution

Unfortunately, there is no solution available yet.

Impact 9.8 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-502: Deserialization of Untrusted Data

Source file

npm/scratch-vm/CVE-2020-14000.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:04 +0000.