Impact
The vulnerability is a cross‑site scripting flaw in JupyterLab that occurs when a third‑party language pack contains a malformed Plural‑Forms header. The header is parsed and passes prefix‑only validation, allowing an attacker to embed JavaScript that the application executes through a new Function call. Because the code runs in the authenticated JupyterLab origin, it can call server APIs to read or modify files and execute code, effectively granting remote code execution within the user's context. This attack is limited in JupyterLite because the environment generally lacks exposed server surfaces.
Affected Systems
The flaw affects JupyterLab versions from 3.0.0 up to and including 4.5.11 and 4.6.4, as well as JupyterLite Core 0.8.3 and earlier. Users of the default English locale are not impacted because it does not load a translation catalogue. The affected products are the JupyterLab platform and JupyterLite Core, both provided by the jupyterlab organization.
Risk and Exploitability
The CVSS score of 6.8 indicates a medium severity, but the lack of an EPSS score means the probability of exploitation is not publicly quantified. The vulnerability is not listed in the CISA KEV catalog, reducing its visibility among known exploits. The attack vector is likely local, requiring a malicious language pack to be placed in a user’s environment, or a supply‑chain compromise that injects malicious code into a legitimate package. Once the pluggable language pack is loaded, the embedded JavaScript is executed, providing the attacker a foothold to use authenticated server APIs.
OpenCVE Enrichment
Github GHSA