CVE-2011-4136: Django Session Modification Vulnerability

django Updated 02 Oct 2025

Summary

19/10/2011
Yes i
Moderate
4.0

CVE-2011-4136: django.contrib.sessions in Django before 1.2.7 and 1.3.x before 1.3.1, when session data is stored in the cache, uses the root namespace for both session identifiers and application-data keys, which allows remote attacke... Affects django across 2 version ranges.

< 1.2.7 >= 1.3, < 1.3.1

Fixed in 1.2.7 or 1.3.1, depending on the release line you run. How to fix ↓

Also tracked for

The same CVE-2011-4136 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Django is a popular Python web framework used for developing web applications. It provides various features and components to simplify the development process. One of these components is django.contrib.sessions, which handles session management. Sessions allow web applications to store user-specific data across multiple requests. However, in versions of Django prior to 1.2.7 and 1.3.x prior to 1.3.1, there is a vulnerability in the session management when session data is stored in the cache. This vulnerability allows remote attackers to modify a session by triggering the use of a key that is equal to that session's identifier.

Vulnerability Detail

The vulnerability arises from the use of the root namespace for both session identifiers and application-data keys in the django.contrib.sessions component. This means that an attacker can manipulate a session by using a key that matches the session's identifier. By doing so, they can modify the session data and potentially gain unauthorized access or perform malicious actions on behalf of the user. The impact of this vulnerability can range from session hijacking to unauthorized data manipulation within the application.

How To Fix

Latest published version: 6.1.2 as of 22 Oct 2026

pip install --upgrade "django==6.1.2"

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • < 1.2.7 1.2.7
    pip install --upgrade "django==1.2.7"
  • >= 1.3, < 1.3.1 1.3.1
    pip install --upgrade "django==1.3.1"

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

If upgrading Django is not immediately feasible, a temporary workaround can be implemented by avoiding the use of the cache as the session backend. Instead, consider using other session backends such as database or file-based storage. This can be achieved by modifying the Django project's settings file to specify a different session backend. For example, setting 'SESSION_ENGINE = 'django.contrib.sessions.backends.db' will use the database backend for session storage.

Conclusion

In conclusion, the Django session modification vulnerability (CVE-2011-4136) allows remote attackers to manipulate sessions and potentially gain unauthorized access or manipulate data within the application. It is crucial to upgrade Django to the recommended versions or implement the provided workaround to mitigate this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for django →

Share this vulnerability

FAQ

The vulnerability allows remote attackers to modify a session and potentially gain unauthorized access or manipulate data within the application.

Versions of Django prior to 1.2.7 and 1.3.x prior to 1.3.1 are affected by this vulnerability.

The recommended fix is to upgrade Django to version 1.2.7 or later (for Django 1.2.x) or version 1.3.1 or later (for Django 1.3.x).

Yes, a temporary workaround is to avoid using the cache as the session backend and instead use other backends like database or file-based storage.

You can find more information about this vulnerability in the official Django security advisory (link provided in the meta section).

Related vulnerabilities

Recent vulnerabilities recorded for django.

How To Fix

Latest published version: 6.1.2 as of 22 Oct 2026

pip install --upgrade "django==6.1.2"

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • < 1.2.7 1.2.7
    pip install --upgrade "django==1.2.7"
  • >= 1.3, < 1.3.1 1.3.1
    pip install --upgrade "django==1.3.1"

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback