CVE-2026-49476: Jupyterlab · Soup Sieve has Memory Exhaustion via Large Comma-Separated Selector Lists
Affects jupyterlabSource GCVE Database
Not known to be exploited · CVSS 7.5 High : upgrade to 4.5.8 soon.
Data as of 30 Oct 2026, 08:59 UTC
- Patch
- Available – fixed in 4.5.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 13 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Upgrade jupyterlab to 4.5.8.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewjupyterlabpkg:brew/jupyterlabOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A patch is available and fixed in JupyterLab version 4.5.8. Users and administrators should upgrade to version 4.5.8 or later to remediate this vulnerability. Until patched, applications should avoid processing untrusted or user-supplied CSS selectors with soupsieve.compile() or Beautiful Soup's .select()/.select_one() to prevent memory exhaustion. No other mitigations are documented by the vendor.
Description
A memory exhaustion vulnerability exists in soupsieve's CSS selector parser used by Beautiful Soup 4 and JupyterLab. The parser allocates unbounded memory when compiling large comma-separated selector lists, allowing an attacker to cause denial of service by supplying a crafted CSS selector string. This can lead to out-of-memory conditions, process termination, or degraded system performance. The issue affects JupyterLab versions from 3.3.2 up to but not including 4.5.8 and is fixed in version 4.5.8.