CVE-2025-61669: Jupyter server Jupyter Server Has An Open Vulnerability
MODERATECVE-2025-61669 is a MODERATE jupyter server has an open vulnerability (CWE-601: URL Redirection to Untrusted Site ('Open Redirect')) affecting Jupyter server libraries in the PyPI ecosystem. The issue involves jupyter server has an open redirection vulnerability in `next` query parameter. Remediation is available by upgrading affected packages to version 2.18.0.
CVE-2025-61669 at a Glance
How to Fix CVE-2025-61669
To remediate this vulnerability, upgrade all affected Jupyter server dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install jupyter-server>=2.18.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show jupyter-server
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2025-61669, inspect your installed packages using pip:
pip show jupyter-server
Analyze the terminal output to locate any version of Jupyter server in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.18.0), your application is affected.
Note: The pip show jupyter-server command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-601: URL Redirection to Untrusted Site ('Open Redirect'), where the web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect. In Jupyter server, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2025-61669 Affected Jupyter server Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
jupyter-server
|
PyPI |
< 2.18.0
|
2.18.0
|
References
Frequently Asked Questions
What is CVE-2025-61669?
Which Jupyter server versions are affected?
What version fixes CVE-2025-61669?
Is jupyter-server affected?
What CWE is associated with CVE-2025-61669?
How can I check PyPI dependencies for CVE-2025-61669?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-qh7q-6qm3-653w",
"modified" : "2026-06-05T17:55:47Z",
"published" : "2026-05-05T16:32:48Z",
"aliases" : [ "CVE-2025-61669" ],
"summary" : "Jupyter Server has an open redirection vulnerability in `next` query parameter",
"details" : "### Summary\n\nThe `?next=...` URL query parameter has an open redirection vulnerability. In `jupyter_server<=2.17.0`, this URL query parameter allows redirection to arbitrary external domains, which can be exploited to facilitate phishing attacks on server users.\n\n### Details\n\nThe vulnerability is caused by insufficient validation in the `LoginFormHandler._redirect_safe()` method.\n\n- Source code reference: https://github.com/jupyter-server/jupyter_server/blob/987ebdd5e188cdc49751b01a0d6782d686492a53/jupyter_server/auth/login.py#L33-L76\n\nThis vulnerability was originally reported by Noriaki Iwasaki. All discovery credit goes to them.\n\n### PoC\n\n1. Navigate to `http://localhost:8888/login?next=///google.com`\n2. Observe that the user is redirected to `google.com` despite it being an external domain.\n\nThe external domain passed in the `?next` parameter may be replaced with a malicious lookalike to facilitate phishing attacks. Jupyter Server deployments served on a public domain are especially vulnerable, as `prod.company.com` may be redirected to a look-alike URL such as `prod.company.dev`. \n\n### Impact\n\nThis vulnerability affects all users, especially enterprise users who work with sensitive/confidential data.\n\n### Patches\n\nJupyter Server 2.18+\n\n### Workaround\n\nNone.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "jupyter-server"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "2.18.0"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 2.17.0"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-qh7q-6qm3-653w"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-61669"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/jupyter-server/jupyter_server"
}, {
"type" : "WEB",
"url" : "https://github.com/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-67.yaml"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-601" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-05-05T16:32:48Z",
"nvd_published_at" : "2026-05-05T16:16:10Z"
}
}