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.
2011-10-19T10:55:04.457
2025-04-11T00:51:21.963
Deferred
CVSSv2: 5.0 (MEDIUM)
AV:N/AC:L/Au:N/C:P/I:N/A:N
10.0
2.9
Type | Vendor | Product | Version/Range | Vulnerable? |
---|---|---|---|---|
Application | djangoproject | django | ≤ 1.2.6 | Yes |
Application | djangoproject | django | 0.91 | Yes |
Application | djangoproject | django | 0.95 | Yes |
Application | djangoproject | django | 0.95.1 | Yes |
Application | djangoproject | django | 0.96 | Yes |
Application | djangoproject | django | 1.0 | Yes |
Application | djangoproject | django | 1.0.1 | Yes |
Application | djangoproject | django | 1.0.2 | Yes |
Application | djangoproject | django | 1.1 | Yes |
Application | djangoproject | django | 1.1.0 | Yes |
Application | djangoproject | django | 1.1.2 | Yes |
Application | djangoproject | django | 1.1.3 | Yes |
Application | djangoproject | django | 1.2 | Yes |
Application | djangoproject | django | 1.2.1 | Yes |
Application | djangoproject | django | 1.2.1 | Yes |
Application | djangoproject | django | 1.2.2 | Yes |
Application | djangoproject | django | 1.2.3 | Yes |
Application | djangoproject | django | 1.2.4 | Yes |
Application | djangoproject | django | 1.2.5 | Yes |
Application | djangoproject | django | 1.3 | Yes |
Application | djangoproject | django | 1.3 | Yes |
Application | djangoproject | django | 1.3 | Yes |