原始 OSV JSON{
"id": "GHSA-fcw5-x6j4-ccmp",
"aliases": [
"CVE-2026-44727"
],
"details": "The nbconvert HTTP handlers in jupyter_server render user-authored notebook HTML under the Jupyter origin without a sandbox directive in their `Content-Security-Policy`. \n\nCombined with `nbconvert.HTMLExporter`'s default non-sanitizing behavior, a notebook carrying an HTML payload in a display_data output triggers stored XSS with cookie access, full /api/* authority, and kernel RCE.\n\n### Impact\n\nAn authenticated victim who navigates to `/nbconvert/html/<path>` containing attacker-authored output can have their token exfiltrated to another domain because it is executed in the Jupyter origin.\n\n### Patches\n\nFixed in v2.20.0, commit [6cbee8d](https://github.com/jupyter-server/jupyter_server/commit/6cbee8d65e71abac851c4492fea987ad080580bd)\n\n\n### Workarounds\n\nFor deployments where editing the installed jupyter_server is impractical (containerized builds, read-only images), adding this to jupyter_server_config.py has the same effect as the patch above without touching source files:\n\n```\nimport jupyter_server.nbconvert.handlers as _nb\n\ndef _csp(self):\n return super(type(self), self).content_security_policy + \"; sandbox allow-scripts\"\n\n_nb.NbconvertFileHandler.content_security_policy = property(_csp)\n_nb.NbconvertPostHandler.content_security_policy = property(_csp)\n```",
"summary": "Jupyter Server: Stored XSS in `NbconvertFileHandler` / `NbconvertPostHandler` via missing `sandbox` CSP ",
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.20.0"
}
]
}
],
"package": {
"name": "jupyter-server",
"ecosystem": "PyPI"
},
"database_specific": {
"last_known_affected_version_range": "<= 2.19.0"
}
}
],
"modified": "2026-08-28T18:31:11Z",
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N"
},
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H"
}
],
"published": "2026-06-18T15:04:07Z",
"references": [
{
"url": "https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-fcw5-x6j4-ccmp",
"type": "WEB"
},
{
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-44727",
"type": "ADVISORY"
},
{
"url": "https://github.com/jupyter-server/jupyter_server/commit/6cbee8d65e71abac851c4492fea987ad080580bd",
"type": "WEB"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:43038",
"type": "WEB"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:60520",
"type": "WEB"
},
{
"url": "https://access.redhat.com/security/cve/CVE-2026-44727",
"type": "WEB"
},
{
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2491516",
"type": "WEB"
},
{
"url": "https://github.com/advisories/GHSA-fcw5-x6j4-ccmp",
"type": "ADVISORY"
},
{
"url": "https://github.com/jupyter-server/jupyter_server",
"type": "PACKAGE"
},
{
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-366.yaml",
"type": "WEB"
},
{
"url": "https://pypi.org/project/jupyter-server",
"type": "WEB"
},
{
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-44727.json",
"type": "WEB"
}
],
"schema_version": "1.4.0",
"database_specific": {
"cwe_ids": [
"CWE-1021",
"CWE-79"
],
"severity": "CRITICAL",
"github_reviewed": true,
"nvd_published_at": "2026-06-22T21:16:24Z",
"github_reviewed_at": "2026-06-18T15:04:07Z"
}
}