Affected Versions:
Django 1.2.5
Django 1.3 beta 1
Django 1.2.4
Django 1.2.2
Django 1, 1.2
Vulnerability description:
Django is an open-source Web application framework written in Python.
Django has multiple security vulnerabilities that allow attackers to obtain sensitive information, operate on data, and perform Cache Poison attacks or DoS attacks.
1) when the backend is cached, there is an error in processing sessions in django. contrib. sessions, and the operation session information can be used. To successfully exploit the vulnerability, the session KEY and application must be known to allow attackers to use the Valid Session KEY to store dictionary objects in the buffer.
2) The Django model system includes a field type-URLField-, which is used to verify whether the provided value is a valid URL. If the Boolean keyword parameter verify_exists is true, it will verify the provided URL and parse it. By default, the underlying socket has no timeout settings. Attackers can exploit this vulnerability to send specially crafted URLs to consume all server memory, resulting in DoS attacks.
3) when the URLs provided by the "URLField" field type is used to handle an error in the redirected response, attackers can exploit this vulnerability to return the redirected response to the "file: //" URL, you can determine whether a local file on the server exists.
4) an error occurs in the "X-Forwarded-Host" HTTP header when a full-path URL for redirect response is generated. Attackers can exploit this vulnerability to perform cache poisoning attacks.