GitHub Advisoryadvisory · PyPI
GHSA-qh7q-6qm3-653w Jupyter Server has an open redirection vulnerability in `next` query parameter
MEDIUM
Official page ↗
- Aliases
- CVE-2025-61669
- Ecosystem
- PyPI
- Packages
- jupyter-server
- Severity
- Moderate
- CVSS vector
- 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
- Weaknesses
- CWE-601
- Reviewed
- 2026-05-05
Affected packages
• PyPI jupyter-server: < 2.18.0 → fixed in 2.18.0
Description
Summary
The `?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.
Details
The vulnerability is caused by insufficient validation in the `LoginFormHandler._redirect_safe()` method.
• Source code reference: https://github.com/jupyter-server/jupyter_server/blob/987ebdd5e188cdc49751b01a0d6782d686492a53/jupyter_server/auth/login.py#L33-L76
This vulnerability was originally reported by Noriaki Iwasaki. All discovery credit goes to them.
PoC
1. Navigate to `http://localhost:8888/login?next=///google.com`
2. Observe that the user is redirected to `google.com` despite it being an external domain.
The 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`.
Impact
This vulnerability affects all users, especially enterprise users who work with sensitive/confidential data.
Patches
Jupyter Server 2.18+
Workaround
None.
Related
Alias · CVE (1)
- CVE-2025-61669 Jupyter Server is the backend for Jupyter web applications. vulnerability
Weakness · CWE (1)
- CWE-601 URL Redirection to Untrusted Site weakness