cve.bz

CVE-2026-40110

7.6 highEPSS 0.3%

High (7.6) in jupyter jupyter server. EPSS 0.3% chance of exploitation in the next 30 days. Fixed in jupyter-server 2.18.0.

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.

Severity

CVSS 4.0

7.6 high
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:L/SC:L/SI:L/SA:L

CVSS 3.1

7.3 high
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
EPSS
0.3% chance of exploitation in the next 30 days; higher than 24% of CVEs (scores of 2026-10-31)
CWEs
CWE-777, CWE-625
Published
Modified
Record from
the NVD, synced

Affected

Packages (OSV)

AdvisoryEcosystemPackageAffectedFixed in
GHSA-24qx-w28j-9m6pPyPIjupyter-server<2.18.02.18.0
PYSEC-2026-2187PyPIjupyter-server<2.18.02.18.0

References

Check your stackJSON