Cyber Resilience

CVE-2026-40110

Jupyter Server ≤ 2.18.0

Published
05 May 2026
Modified
24 July 2026
Patch / advisory
CVSS Score v4 7.6
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:L/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0034 27th percentile
Risk Priority 55 floored blend · peak EPSS

Summary

CVE-2026-40110 is a high-severity Regular Expression without Anchors (CWE-777) vulnerability in Jupyter Jupyter Server. Its CVSS base score is 7.6 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 27th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Jupyter Server is the backend for Jupyter web applications. In versions 2.17.0 and earlier, the Origin header validation uses Python's re.match() to check incoming origins against the allow_origin_pat configuration value. Because re.match() only anchors at the start of the string…

more

and does not require a full match, a pattern intended to match only a trusted domain (e.g., trusted.example.com) will also match any origin that begins with that domain followed by additional characters (e.g., trusted.example.com.evil.com). An attacker who controls such a domain can bypass the CORS origin restriction and make cross-origin requests to the Jupyter Server API from an untrusted site. This issue has been fixed in version 2.18.0.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-35397Same product: Jupyter Jupyter Server
CVE-2026-5422Same product: Jupyter Jupyter Server
CVE-2026-44727Same product: Jupyter Jupyter Server
CVE-2026-6657Same product: Jupyter Jupyter Server
CVE-2023-40170Same product: Jupyter Jupyter Server
CVE-2026-40934Same product: Jupyter Jupyter Server
CVE-2025-61669Same product: Jupyter Jupyter Server
CVE-2023-49080Same product: Jupyter Jupyter Server
CVE-2023-39968Same product: Jupyter Jupyter Server
CVE-2026-40864Same vendor: Jupyter

Affected Assets

jupyter
jupyter server
≤ 2.18.0

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

SA-11 developer testing can discover missing anchors through functional or security test cases but does not stop their introduction.

SI-10 requires validation of inputs; correct implementation forces anchored regexes that fully neutralize the described weakness.

SA-15 requires documented development standards and tools that can mandate anchored regex usage for sanitization.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require correct anchored regex for input neutralization, covering most of the weakness while the control itself addresses many other development issues.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect unanchored regex but does not prevent the weakness by itself.

prevents

Secure development lifecycle requires validation of input mechanisms, including regex, reducing permissive patterns.

prevents

Application security requirements can mandate anchored regex but do not prescribe the technique.

prevents

Secure coding explicitly requires anchored regex to prevent bypass of input validation.

References