Machine-written summary
Summary written by Claude Haiku from the source advisory. Not reviewed by a person.
Jupyter Server versions before 2.18.0 are affected. The origin check uses re.match(), which anchors only at the start of the string, so an attacker-controlled domain that begins with an allowed origin, such as trusted.example.com.evil.com, passes validation against the allow_origin_pat setting. The source does not describe the full impact beyond this bypass. Upgrade to jupyter-server 2.18.0 or later. As a workaround, wrap the allow_origin_pat value with ^ and $.
Not analysed yet
We haven’t published our analysis of this Advisory yet. Once a person has reviewed it, this page will say what’s vulnerable, what has to be true for your app to be affected, and how to check.
Severity and exploitation
| Score | Rating | CVSS | Vector | Source |
|---|---|---|---|---|
| 7.6 | High | 4.0 | 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 | CNA (GitHub_M) |
- CISA KEV Not listed.
- EPSS 0.0031, the 24th percentile, on 5 Nov 2026: FIRST’s estimate of the chance of exploitation in the next 30 days.
Timeline
- 31 Oct 2026, 14:34 UTC First seen by agentprime
- 31 Oct 2026, 14:34 UTC Confirmed by OSV
Sources
- GitHub Advisory Database: GHSA-24qx-w28j-9m6p
- OSV: GHSA-24qx-w28j-9m6p
- github.com/jupyter-server/jupyter_server/security/advisories/GHSA-24qx-w28j-9m6p
- nvd.nist.gov/vuln/detail/CVE-2026-40110
- github.com/jupyter-server/jupyter_server/pull/603
- github.com/jupyter-server/jupyter_server/commit/057869a327c46730afede3eab0ca2d2e3e74acea
- github.com/jupyter-server/jupyter_server/commit/49b34392feaa97735b3b777e3baf8f22f2a14ed8
- access.redhat.com/errata/RHSA-2026:43038
- access.redhat.com/security/cve/CVE-2026-40110
- bugzilla.redhat.com/show_bug.cgi?id=2466912
- github.com/jupyter-server/jupyter_server
- github.com/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-2187.yaml
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40110.json