{"id":"ALPINE-CVE-2017-7233","details":"Django 1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18 relies on user input in some cases to redirect the user to an \"on success\" URL. The security check for these redirects (namely ``django.utils.http.is_safe_url()``) considered some numeric URLs \"safe\" when they shouldn't be, aka an open redirect vulnerability. Also, if a developer relies on ``is_safe_url()`` to provide safe redirect targets and puts such a URL into a link, they could suffer from an XSS attack.","modified":"2025-11-19T06:10:51.028212Z","published":"2017-04-04T17:59:00.273Z","upstream":["CVE-2017-7233"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2017-7233"}],"affected":[{"package":{"name":"py-django","ecosystem":"Alpine:v3.10","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.2","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.18-r0"}]}],"versions":["1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.3-r1"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.3","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.18-r0"}]}],"versions":["1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.4","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.18-r0"}]}],"versions":["1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.5","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.18-r0"}]}],"versions":["1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.6","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.7","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.8","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py-django","ecosystem":"Alpine:v3.9","purl":"pkg:apk/alpine/py-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py3-django","ecosystem":"Alpine:v3.11","purl":"pkg:apk/alpine/py3-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}},{"package":{"name":"py3-django","ecosystem":"Alpine:v3.12","purl":"pkg:apk/alpine/py3-django?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.7-r0"}]}],"versions":["1.10.5-r0","1.2.5-r0","1.2.5-r1","1.4.1-r0","1.5-r0","1.5.1-r0","1.5.5-r0","1.5.6-r0","1.5.7-r0","1.5.8-r0","1.6.5-r0","1.6.6-r0","1.7-r0","1.8-r0","1.8.10-r0","1.8.12-r0","1.8.14-r0","1.8.15-r0","1.8.16-r0","1.8.3-r0","1.8.4-r0","1.8.6-r0","1.8.7-r0","1.8.8-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2017-7233.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}]}