CVE-2011-4138: Input Validation
The verifyexists 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.
Other sources
The verifyexists 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.
— NVD
Affected Software
Remediation
Patch Available
Patch Available
Patch Available
Patch Available
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2011-4138?
CVE-2011-4138 has been classified as a moderate severity vulnerability.
How do I fix CVE-2011-4138?
To fix CVE-2011-4138, you should upgrade to Django version 1.2.7 or 1.3.1 or later.
What versions of Django are affected by CVE-2011-4138?
CVE-2011-4138 affects Django versions prior to 1.2.7 and 1.3.x before 1.3.1.
What type of attack can exploit CVE-2011-4138?
CVE-2011-4138 can be exploited by remote attackers to redirect users to arbitrary URLs.
Is CVE-2011-4138 fixed in Django 1.3.1?
Yes, CVE-2011-4138 has been fixed in Django version 1.3.1.