REDHAT-BUG-1243842: CSRF
POST requests exposed via the IPython REST API are vulnerable to cross-site request forgery (CSRF). Web pages on different domains can make non-AJAX POST requests to known IPython URLs, and IPython will honor them. The user's browser will automatically send IPython cookies along with the requests. The response is blocked by the Same-Origin Policy, but the request isn't.
API paths with issues:
POST /api/contents/<path>/<file> POST /api/contents/<path>/<file>/checkpoints POST /api/contents/<path>/<file>/checkpoints/<checkpointid> POST /api/kernels POST /api/kernels/<kernelid>/<action> POST /api/sessions POST /api/clusters/<clusterid>/<action>
Upstream fixes: 2.x: https://github.com/ipython/ipython/commit/a05fe052a18810e92d9be8c1185952c13fe4e5b0 3.x: https://github.com/ipython/ipython/commit/1415a9710407e7c14900531813c15ba6165f0816
CVE request: http://seclists.org/oss-sec/2015/q3/92
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-1243842?
The severity of REDHAT-BUG-1243842 is classified as high due to its potential for cross-site request forgery attacks.
How do I fix REDHAT-BUG-1243842?
To fix REDHAT-BUG-1243842, update to a version of IPython that is 3.x or later, which addresses the CSRF vulnerability.
What types of requests are affected by REDHAT-BUG-1243842?
REDHAT-BUG-1243842 affects POST requests made through the IPython REST API.
Which versions of IPython are vulnerable to REDHAT-BUG-1243842?
Versions of IPython from 2.x to 3.x are vulnerable to REDHAT-BUG-1243842.
Can external domains exploit REDHAT-BUG-1243842?
Yes, web pages on different domains can exploit REDHAT-BUG-1243842 to perform non-AJAX POST requests to a user's IPython server.