PatchSiren cyber security CVE debrief
CVE-2026-40110 Jupyter CVE debrief
CVE-2026-40110 is a Jupyter Server origin-validation flaw that can let an attacker bypass CORS restrictions when allow_origin_pat is used. The issue exists in Jupyter Server 2.17.0 and earlier because the Origin header check uses Python re.match(), which only anchors at the start of the string instead of requiring a full match. As a result, a pattern meant to allow trusted.example.com can also match attacker-controlled origins such as trusted.example.com.evil.com. The vendor states the issue is fixed in Jupyter Server 2.18.0.
- Vendor
- Jupyter
- Product
- Jupyter Server
- CVSS
- HIGH 7.6
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-05
- Original CVE updated
- 2026-07-24
- Advisory published
- 2026-05-05
- Advisory updated
- 2026-07-24
Who should care
Administrators and developers running Jupyter Server instances that rely on allow_origin_pat for browser-origin restrictions should treat this as relevant, especially if the server is reachable from untrusted networks or users may browse attacker-controlled sites while authenticated to Jupyter.
Technical summary
According to the CVE description and NVD record, Jupyter Server versions 2.17.0 and earlier validate Origin against allow_origin_pat using re.match(). Because re.match() checks only from the start of the string, a trusted-domain pattern can be bypassed by an origin that begins with the allowed text but continues with attacker-controlled suffix content. The NVD record lists CWE-777 and a vulnerable CPE range ending before 2.18.0. The issue is resolved in version 2.18.0.
Defensive priority
High. The NVD record rates the issue 7.6/HIGH, and the CVSS v4 vector indicates network attack conditions with no privileges required, but user interaction is needed. Systems that depend on origin-based browser access controls should prioritize upgrading to a fixed release.
Recommended defensive actions
- Upgrade Jupyter Server to version 2.18.0 or later.
- Review any configuration that uses allow_origin_pat and confirm it is not relying on prefix-style regex behavior.
- If you cannot upgrade immediately, restrict exposure of Jupyter Server to trusted networks and limit authenticated user browsing to untrusted sites.
- Validate that any origin allowlist logic uses exact matching or properly anchored full matches.
- Check the GitHub advisory and linked patches for the vendor-recommended remediation details.
Evidence notes
Source evidence comes from the CVE description, the NVD record marked analyzed, and the linked GitHub advisory and patch references. The supplied data states the vulnerable range is Jupyter Server 2.17.0 and earlier, with a fix in 2.18.0. NVD lists CVSS 4.0 vector AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:L/SC:L/SI:L/SA:L and CWE-777. No additional facts beyond the supplied corpus were used.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-40110 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-40110
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-40110 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-40110
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/jupyter-server/jupyter_server/commit/057869a327c46730afede3eab0ca2d2e3e74acea
[email protected] - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/jupyter-server/jupyter_server/commit/49b34392feaa97735b3b777e3baf8f22f2a14ed8
[email protected] - Patch
-
Source reference
Unverified legacy reference
URL: https://github.com/jupyter-server/jupyter_server/pull/603
[email protected] - Issue Tracking
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-24qx-w28j-9m6p
[email protected] - Patch, Vendor Advisory, Mitigation
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.