{
  "cveId": "CVE-2026-40110",
  "url": "https://patchblox.com/security/cve/CVE-2026-40110",
  "summary": "CVE-2026-40110 is fixed in jupyter-server on 1 platform by DEBIAN-CVE-2026-40110 (version 2.20.0-1), released May 5, 2026. It is not reported as exploited. Patch Radar priority: High.",
  "title": "jupyter-server: Jupyter Server is the backend for Jupyter web applications",
  "description": "Jupyter Server is the backend for Jupyter web applications. In versions 2.17.0 and earlier, the Origin header validation uses Python\u0027s 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.",
  "published": "2026-05-05T22:16:00Z",
  "severity": "high",
  "cvss": 7.3,
  "cvssVector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N",
  "epss": 0.00313,
  "epssPercentile": 0.24361,
  "priority": "High",
  "priorityTier": 3,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "jupyter-server",
      "release": "Debian 14",
      "fixedVersion": "2.20.0-1",
      "fix": "DEBIAN-CVE-2026-40110",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-40110",
      "released": "2026-05-05T22:16:00Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T13:06:02Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}