{"title":"Django 1.10.7 release notes","version":"dev","locale":"en","docname":"releases/1.10.7","url":"/en/dev/releases/1.10.7/","canonical":"https://djangodocs.dev/en/dev/releases/1.10.7/","summary":"Django 1.10.7 fixes two security issues and a bug in 1.10.6. Django relies on user input in some cases (e.g. django.contrib.auth.views.login() and i18n) to…","html":"<h1>Django 1.10.7 release notes<a class=\"heading-anchor\" href=\"#django-1-10-7-release-notes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><em>April 4, 2017</em></p>\n<p>Django 1.10.7 fixes two security issues and a bug in 1.10.6.</p>\n<section id=\"cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls\">\n<h2>CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs<a class=\"heading-anchor\" href=\"#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django relies on user input in some cases  (e.g.\n<code class=\"docutils literal notranslate\">django.contrib.auth.views.login()</code> and <a class=\"reference internal\" href=\"/en/dev/topics/i18n/\"><span class=\"doc\">i18n</span></a>)\nto redirect the user to an “on success” URL. The security check for these\nredirects (namely <code class=\"docutils literal notranslate\">django.utils.http.is_safe_url()</code>) considered some numeric\nURLs (e.g. <code class=\"docutils literal notranslate\">http:999999999</code>) “safe” when they shouldn’t be.</p>\n<p>Also, if a developer relies on <code class=\"docutils literal notranslate\">is_safe_url()</code> to provide safe redirect\ntargets and puts such a URL into a link, they could suffer from an XSS attack.</p>\n</section>\n<section id=\"cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve\">\n<h2>CVE-2017-7234: Open redirect vulnerability in <code class=\"docutils literal notranslate\">django.views.static.serve()</code><a class=\"heading-anchor\" href=\"#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>A maliciously crafted URL to a Django site using the\n<a class=\"reference internal\" href=\"/en/dev/ref/views/#django.views.static.serve\" title=\"django.views.static.serve\"><code class=\"xref py py-func docutils literal notranslate\">serve()</code></a> view could redirect to any other domain. The\nview no longer does any redirects as they don’t provide any known, useful\nfunctionality.</p>\n<p>Note, however, that this view has always carried a warning that it is not\nhardened for production use and should be used only as a development aid.</p>\n</section>\n<section id=\"bugfixes\">\n<h2>Bugfixes<a class=\"heading-anchor\" href=\"#bugfixes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ul class=\"simple\">\n<li><p>Made admin’s <code class=\"docutils literal notranslate\">RelatedFieldWidgetWrapper</code> use the wrapped widget’s\n<code class=\"docutils literal notranslate\">value_omitted_from_data()</code> method (<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/27905\">#27905</a>).</p></li>\n<li><p>Fixed model form <code class=\"docutils literal notranslate\">default</code> fallback for <code class=\"docutils literal notranslate\">SelectMultiple</code>\n(<a class=\"extlink-ticket reference external\" href=\"https://code.djangoproject.com/ticket/27993\">#27993</a>).</p></li>\n</ul>\n</section>","rootId":"django-1-10-7-release-notes","toc":[{"title":"CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs","anchor":"cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls","children":[]},{"title":"CVE-2017-7234: Open redirect vulnerability in django.views.static.serve()","anchor":"cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve","children":[]},{"title":"Bugfixes","anchor":"bugfixes","children":[]}],"breadcrumbs":[{"docname":"releases/index","title":"Release notes","url":"/en/dev/releases/"}],"prev":{"docname":"releases/1.10.8","title":"Django 1.10.8 release notes","url":"/en/dev/releases/1.10.8/"},"next":{"docname":"releases/1.10.6","title":"Django 1.10.6 release notes","url":"/en/dev/releases/1.10.6/"},"formats":{"html":"/en/dev/releases/1.10.7/","markdown":"/en/dev/releases/1.10.7.md","json":"/en/dev/releases/1.10.7.json"},"source":"https://github.com/django/django/blob/main/docs/releases/1.10.7.txt","official":"https://docs.djangoproject.com/en/dev/releases/1.10.7/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10"],"inLocales":["en"]}