Update dependency jupyter-server to v2.18.0 [SECURITY]#265
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Update dependency jupyter-server to v2.18.0 [SECURITY]#265renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
|
We require contributors to sign our Contributor License Agreement, and we don't have @renovate[bot] on file. You can sign our CLA at https://e2b.dev/docs/cla . Once you've signed, post a comment here that says '@cla-bot check' |
There was a problem hiding this comment.
An organization admin can view or raise the cap at claude.ai/admin-settings/claude-code. The cap resets at the start of the next billing period.
Once the cap resets or is raised, reopen this pull request to trigger a review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.16.0→==2.18.0Jupyter Server has an open redirection vulnerability in
nextquery parameterCVE-2025-61669 / GHSA-qh7q-6qm3-653w
More information
Details
Summary
The
?next=...URL query parameter has an open redirection vulnerability. Injupyter_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.This vulnerability was originally reported by Noriaki Iwasaki. All discovery credit goes to them.
PoC
http://localhost:8888/login?next=///google.comgoogle.comdespite it being an external domain.The external domain passed in the
?nextparameter may be replaced with a malicious lookalike to facilitate phishing attacks. Jupyter Server deployments served on a public domain are especially vulnerable, asprod.company.commay be redirected to a look-alike URL such asprod.company.dev.Impact
This vulnerability affects all users, especially enterprise users who work with sensitive/confidential data.
Patches
Jupyter Server 2.18+
Workaround
None.
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Jupyter Server: Path Traversal via incorrect startswith() root directory check allows access to sibling directories
CVE-2026-35397 / GHSA-5789-5fc7-67v3
More information
Details
Summary
Jupyter Server <=2.17.0 can access directories sibling to the root directory, if it starts with the root dir's name.
PoC
Minimal:
Full PoC by @stef41: https://gist.github.com/Yann-P/66d4982a965dee8fcb8dd89db29e7006
Impact
It is possible for an authenticated user to access content outside the server's
root_dirin siblings directories sharing the same prefix as theroot_dir. The attacker can escalate access, reading, writing, and deleting from sibling directories.This can have a tangible impact for deployments using predictable naming scheme with multi-tenant server, for example
user1,user2,user3, ...,user10etc, asuser1could access and modify files of alluser10-user19and higher.In a hypothetical system where users can choose a name of their folder, an attacker could choose a single-letter username to gain access to a significant number of sibling directories.
Workarounds
Use folder names that do not overlap.
Acknowledgments
Thank you to @stef41 for providing a useful PoC.
Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Jupyter Server has a CORS Origin Validation Bypass via
re.match()inallow_origin_pat(from huntr)CVE-2026-40110 / GHSA-24qx-w28j-9m6p
More information
Details
Jupyter Server uses
re.match()to validate the Origin header against theallow_origin_patconfiguration.Since
re.match()only anchors at the start of the string, an attacker who controls a domain likehttp://trusted.example.com.evil.com/passes validation against a pattern intended to match onlytrusted.example.com.Impact
<=2.17.0
Patches
057869a327c46730afede3eab0ca2d2e3e74acea, 49b34392feaa97735b3b777e3baf8f22f2a14ed8
Workarounds
Wrap your
allow_origin_patvalue with^and$References
https://github.com/jupyter-server/jupyter_server/pull/603
https://docs.python.org/3/library/re.html#re.fullmatch
https://docs.python.org/3/library/re.html#re.match
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:L/SC:L/SI:L/SA:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Jupyter Server's Authentication Cookies Remain Valid After Password Reset and Server Restart
CVE-2026-40934 / GHSA-5mrq-x3x5-8v8f
More information
Details
Summary
A persistent cookie secret vulnerability allows authenticated users to maintain indefinite access even after password changes.
The cookie secret used to sign authentication cookies is stored in a permanent file (
~/.local/share/jupyter/runtime/jupyter_cookie_secret) that is never automatically rotated or cleared, allowing stolen or compromised cookies to remain valid indefinitely regardless of password resets.PoC
jupyter server password,jupyter serverjupyter server passwordImpact
Patches
Jupyter Server 2.18+
Workaround
Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
jupyter-server/jupyter_server (jupyter-server)
v2.18.0Compare Source
(Full Changelog)
API and Breaking Changes
Enhancements made
_get_os_pathin_dir_model#1547 (@joeyutong, @vidartf)Bugs fixed
Maintenance and upkeep improvements
test_execution_statetest #1579 (@krassowski, @Zsailer)hatch fmtandpre-commit#1576 (@krassowski, @Zsailer)@flaky.flakydecorate with pytest marker #1544 (@mgorny, @minrk)Documentation improvements
cookie_secret#1433 (@krassowski, @blink1073, @minrk)ServerApp.preferred_dir#1396 (@krassowski, @blink1073)Other merged PRs
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@3coins (activity) | @afshin (activity) | @andrii-i (activity) | @ark-1 (activity) | @astitv-sh (activity) | @aws-jasakshi (activity) | @blink1073 (activity) | @bloomsa (activity) | @bollwyvl (activity) | @brichet (activity) | @carlfarrington (activity) | @Carreau (activity) | @cjwatson (activity) | @claude (activity) | @codecov-commenter (activity) | @danyeaw (activity) | @Darshan808 (activity) | @davidbrochart (activity) | @dlqqq (activity) | @dualc (activity) | @echarles (activity) | @edrogers (activity) | @emin63 (activity) | @epignot (activity) | @fcollonval (activity) | @gogasca (activity) | @hansepac (activity) | @holzman (activity) | @IITII (activity) | @jasongrout (activity) | @joeyutong (activity) | @jtpio (activity) | @kevin-bates (activity) | @kjayan (activity) | @krassowski (activity) | @Krish-876 (activity) | @ktaletsk (activity) | @lresende (activity) | @MaicoTimmerman (activity) | @manics (activity) | @markypizz (activity) | @MaryushSoroka (activity) | @mgorny (activity) | @minrk (activity) | @mwouts (activity) | @nokados (activity) | @ojarjur (activity) | @oliver-sanders (activity) | @ptch314 (activity) | @rgbkrk (activity) | @RRosio ([activity](https://redirect.github.com/search?q=repo%3Ajupyter-server%2Fjupyter_server+invo
Configuration
📅 Schedule: (in timezone UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.