FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

Jupyter notebook -- open redirect vulnerability

Affected packages
py27-notebook < 5.7.8
py35-notebook < 5.7.8
py36-notebook < 5.7.8
py37-notebook < 5.7.8

Details

VuXML ID fe7e322f-522d-11e9-98b5-216e512dad89
Discovery 2019-03-28
Entry 2019-03-29
Modified 2019-04-06

Jupyter blog:

Login pages tend to take a parameter for redirecting back to a page after successful login, e.g. /login?next=/notebooks/mynotebook.ipynb, so that you aren't disrupted too much if you try to visit a page, but have to authenticate first. An Open Redirect Vulnerability is when a malicious person crafts a link pointing to the login page of a trusted site, but setting the "redirect after successful login" parameter to send the user to their own site, instead of a page on the authenticated site (the notebook or JupyterHub server), e.g. /login?next=http://badwebsite.biz. This doesn't necessarily compromise anything immediately, but it enables phishing if users don't notice that the domain has changed, e.g. by showing a fake "re-enter your password" page. Servers generally have to validate the redirect URL to avoid this. Both JupyterHub and Notebook already do this, but the validation didn't take into account all possible ways to redirect to other sites, so some malicious URLs could still be crafted to redirect away from the server (the above example does not work in any recent version of either package). Only certain browsers (Chrome and Firefox, not Safari) could be redirected from the JupyterHub login page, but all browsers could be redirected away from a standalone notebook server.

References

CVE Name CVE-2019-10255
URL https://blog.jupyter.org/open-redirect-vulnerability-in-jupyter-jupyterhub-adf43583f1e4
URL https://github.com/jupyter/notebook/blob/master/docs/source/changelog.rst