high7.5
CVE-2011-4138
Django Might Allow CSRF Requests via URL Verification
Impact
The `verify_exists` functionality in the URLField implementation in Django before 1.2.7 and 1.3.x before 1.3.1 originally tests a URL's validity through a HEAD request, but then uses a GET request for the new target URL in the case of a redirect, which might allow remote attackers to trigger arbitrary GET requests with an unintended source IP address via a crafted Location header.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | Django | < 1.2.7 | 1.2.7 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Djangoproject | Django | through 1.2.6 Versions 0.91, 0.95, 0.95.1, 0.96, 1.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- http://openwall.com/lists/oss-security/2011/09/11/1
- http://openwall.com/lists/oss-security/2011/09/13/2
- http://secunia.com/advisories/46614
- http://www.debian.org/security/2011/dsa-2332
- https://bugzilla.redhat.com/show_bug.cgi?id=737366
- https://hermes.opensuse.org/messages/14700881
- https://www.djangoproject.com/weblog/2011/sep/09/
- https://www.djangoproject.com/weblog/2011/sep/10/127/
- https://github.com/advisories/GHSA-wxg3-mfph-qg9w
- https://nvd.nist.gov/vuln/detail/CVE-2011-4138
- https://github.com/django/django/commit/1a76dbefdfc60e2d5954c0ba614c3d054ba9c3f0
- https://github.com/django/django/commit/7268f8af86186518821d775c530d5558fd726930
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2011-3.yaml
- https://www.djangoproject.com/weblog/2011/sep/09
- https://www.djangoproject.com/weblog/2011/sep/10/127