{
    "id": "CVE-2020-14000",
    "published": "2020-07-16 15:15:27",
    "last_modified": "2026-06-17 02:54:04",
    "cvss_score": "9.8",
    "cvss_severity": "CRITICAL",
    "cvss_version": "3.1",
    "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
    "cwe": "CWE-502",
    "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.",
    "epss_score": "0.02830",
    "epss_percentile": "0.86244",
    "kev": 0,
    "kev_due": null,
    "has_exploit": 0,
    "updated_at": "2026-10-11 18:17:22",
    "priority": {
        "rank": 3,
        "label": "In your normal cycle",
        "why": "Critical by CVSS (9.8), but no sign of active exploitation."
    },
    "products": [
        {
            "vendor": "mit",
            "product": "scratch-vm"
        }
    ],
    "kev_detail": null,
    "exploits": [],
    "refs_list": [
        "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"
    ]
}