CVE Catalog

CVE-2026-40110

HighCVSS 7.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.34%

27th percentile - higher than 27% of all known CVEs

Summary

Jupyter Server versions 2.17.0 and earlier use re.match() for Origin header validation, allowing bypass of CORS restrictions. An attacker controlling a domain like trusted.example.com.evil.com can make cross-origin requests to the server API.

Risk Assessment

An attacker can perform unauthorized cross-origin requests, potentially accessing sensitive data or Jupyter functions.

Recommendation

Update Jupyter Server to version 2.18.0 or later.

Other vulnerabilities in Jupyter Server

See all
Original NVD description (English source)

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 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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS