jupyter-server is vulnerable to CORS origin validation bypass when the `allow_origin_pat` configuration is used
Medium6.1CVE-2026-6657 · Published Jul 23, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| jupyter-server PyPI | >= 1.12.0, <= 2.17.0 | No fix yet |
Details and references
A vulnerability in jupyter-server versions 1.12.0 through 2.17.0 allows an attacker to bypass CORS origin validation when the `allow_origin_pat` configuration is used. The issue arises from the use of `re.match()` for validating the `Origin` header, which only anchors at the start of the string. This allows attacker-controlled domains such as `trusted.example.com.evil.com` to pass validation against patterns intended to match `trusted.example.com`. The vulnerability affects multiple locations in the codebase, including CORS headers, WebSocket connections, referer validation, and login redirects, potentially enabling phishing attacks, arbitrary code execution, and unauthorized access to sensitive API responses.
- CVSS 3.0
- CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Severity from
- the CVSS score
- Also known as
- CVE-2026-6657, GHSA-v42x-x7jp-845h
More Jupyter advisories
All Jupyter| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jul 22 | JupyterLab: Cross-site scripting (XSS) via crafted settings file (`overrides.json`) CVE-2026-73417Highfixed in 4.5.10, 4.6.2 | High | 4.5.10, 4.6.2 |
| Jul 22 | JupyterLab: Image viewer allows XSS when opening malicious image in new browser tab CVE-2026-73415Highfixed in 4.5.10, 4.6.2 | High | 4.5.10, 4.6.2 |
| Jul 22 | JupyterLab: PyPI extension blocklist package-name canonicalization bypass CVE-2026-73416Mediumfixed in 4.5.10, 4.6.2 | Medium | 4.5.10, 4.6.2 |
| Jul 22 | JupyterLab PluginManager lock-rule enforcement bypass GHSA-h5v5-8746-g7mmMediumfixed in 4.5.10, 4.6.2 | Medium | 4.5.10, 4.6.2 |
| Jul 22 | JupyterLab: Allowlist/blocklist check in `PyPIExtensionManager.install()` not enforced for direct callers (missing `await`) CVE-2026-73626Low0.0fixed in 4.5.10, 4.6.2 | Low0.0 | 4.5.10, 4.6.2 |
| Jul 13 | Jupyter Server vulnerable to Path Traversal via incorrect root directory boundary check in _get_os_path() CVE-2026-5422Medium6.8fixed in 2.18.2 | Medium6.8 | 2.18.2 |