Every CVE Search/ Get API key

CVE-2015-3982

Django allows user sessions hijacking via an empty string in the session key

5.0 MediumFix available

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Exploit likelihood

1.75%Up 0.7 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 5.0

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Record
CVE-2015-3982
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:P/A:N
Updated
2026-11-02
CVE List No score

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Record
CVE-2015-3982
Updated
2026-11-02
EUVDEUVD-2015-0008 No score

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Record
EUVD-2015-0008
Updated
2026-11-03
GitHub AdvisoriesGHSA-6wgp-fwfm-mxp3 6.6

Django allows user sessions hijacking via an empty string in the session key

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Record
GHSA-6wgp-fwfm-mxp3
CVSS 4.0
6.6 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
OSVGHSA-6wgp-fwfm-mxp3 6.6

Django allows user sessions hijacking via an empty string in the session key

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Record
GHSA-6wgp-fwfm-mxp3
CVSS 4.0
6.6 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-384
Updated
2026-11-02
OSVopenSUSE-SU-2023:0077-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

  • CVE-2023-24580: Prevent DOS in file uploads. (boo#1208082)

update to 1.11.15

  • CVE-2018-14574: Fixed Open redirect possibility in CommonMiddleware (boo#1102680)
  • Fixed WKBWriter.write() and write_hex() for empty polygons on GEOS 3.6.1+
  • Fixed a regression in Django 1.10 that could result in large memory usage when making edits using ModelAdmin.list_editable
  • Fixed a regression in Django 1.11.12 where QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection() crashed due to mismatching columns
  • Fixed crashes in django.contrib.admindocs when a view is a callable object, such as django.contrib.syndication.views.Feed
  • Fixed a regression in Django 1.11.8 where altering a field with a unique constraint may drop and rebuild more foreign keys than necessary
  • Fixed a regression in Django 1.11.8 where combining two annotated values_list() querysets with union(), difference(), or intersection() crashed due to mismatching columns
  • Fixed a regression in Django 1.11 where an empty choice could be initially selected for the SelectMultiple and CheckboxSelectMultiple widgets
  • Update to 1.11.11

    • Fixes CVE-2018-7536, CVE-2018-7537
  • Update to 1.11.10 LTS

    • Fixes CVE-2018-6188 boo#1077714, CVE-2017-7234, CVE-2017-7233, CVE-2017-12794
  • Change Requires: python-Pillow to python-imaging for compatibility with SLE-12 which provides PIL instead of Pillow.

  • Update to 1.9.9

    Bugfixes

    • Fixed invalid HTML in template postmortem on the debug page (#26938).
    • Fixed some GIS database function crashes on MySQL 5.7 (#26657).
  • Update to 1.9.8 Fix XSS in admin’s add/change related popup (boo#988420) Unsafe usage of JavaScript’s Element.innerHTML could result in XSS in the admin’s add/change related popup. Element.textContent is now used to prevent execution of the data. The debug view also used innerHTML. Although a security issue wasn’t identified there, out of an abundance of caution it’s also updated to use textContent. Bugfixes

    • Fixed missing varchar/text_pattern_ops index on CharField and TextField respectively when using AddField on PostgreSQL (#26889).
    • Fixed makemessages crash on Python 2 with non-ASCII file names (#26897).
  • Update to 1.9.7 Bugfixes

    • Removed the need for the request context processor on the admin login page to fix a regression in 1.9 (#26558).
    • Fixed translation of password validators’ help_text in forms (#26544).
    • Fixed a regression causing the cached template loader to crash when using lazy template names (#26603).
    • Fixed on_commit callbacks execution order when callbacks make transactions (#26627).
    • Fixed HStoreField to raise a ValidationError instead of crashing on non-dictionary JSON input (#26672).
    • Fixed dbshell crash on PostgreSQL with an empty database name (#26698).
    • Fixed a regression in queries on a OneToOneField that has to_field and primary_key=True (#26667).
  • Update to 1.9.6 Bugfixes

    • Added support for relative path redirects to the test client and to SimpleTestCase.assertRedirects() because Django 1.9 no longer converts redirects to absolute URIs (#26428).
    • Fixed TimeField microseconds round-tripping on MySQL and SQLite (#26498).
    • Prevented makemigrations from generating infinite migrations for a model field that references a functools.partial (#26475).
    • Fixed a regression where SessionBase.pop() returned None rather than raising a KeyError for nonexistent values (#26520).
    • Fixed a regression causing the cached template loader to crash when using template names starting with a dash (#26536).
    • Restored conversion of an empty string to null when saving values of GenericIPAddressField on SQLite and MySQL (#26557).
    • Fixed a makemessages…
Record
openSUSE-SU-2023:0077-1
Updated
2026-11-02
Show 9 moreShow less
OSVopenSUSE-SU-2024:10066-1 No score

python-Django-1.9.12-1.1 on GA media

These are all security issues fixed in the python-Django-1.9.12-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10066-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11205-1 No score

python36-Django-3.2.7-2.3 on GA media

These are all security issues fixed in the python36-Django-3.2.7-2.3 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11205-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13887-1 No score

python310-Django-4.2.11-2.1 on GA media

These are all security issues fixed in the python310-Django-4.2.11-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13887-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14208-1 No score

python310-Django4-4.2.14-1.1 on GA media

These are all security issues fixed in the python310-Django4-4.2.14-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14208-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:10005-1 No score

python312-Django6-6.0-1.1 on GA media

These are all security issues fixed in the python312-Django6-6.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10005-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11235-1 No score

python313-Django4-4.2.30-4.1 on GA media

These are all security issues fixed in the python313-Django4-4.2.30-4.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11235-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11248-1 No score

python313-Django-5.2.16-1.1 on GA media

These are all security issues fixed in the python313-Django-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11248-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11270-1 No score

python313-Django5-5.2.16-1.1 on GA media

These are all security issues fixed in the python313-Django5-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11270-1
Updated
2026-11-02
OSVPYSEC-2015-19 No score

The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.

Record
PYSEC-2015-19
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
1.8a1 up to 1.8.2
1.8.2
django
PyPI
1.8a1 up to 1.8.2, plus listed versions
1.81.8.11.8b11.8b21.8c1
1.8.2
django
PyPI
1.8 up to 1.8.2, plus listed versions
1.8.1
1.8.2
python-Django
SUSE:Package Hub 12 SP1
From an advisory covering 11 CVEs
before 1.11.15-2.1
1.11.15-2.1
python-Django
openSUSE:Tumbleweed
From an advisory covering 3 CVEs
before 1.9.12-1.1
1.9.12-1.1
python-Django
openSUSE:Tumbleweed
From an advisory covering 30 CVEs
before 3.2.7-2.3
3.2.7-2.3
python-Django
openSUSE:Tumbleweed
From an advisory covering 30 CVEs
before 4.2.11-2.1
4.2.11-2.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 51 CVEs
before 4.2.14-1.1
4.2.14-1.1
python-Django6
openSUSE:Tumbleweed
From an advisory covering 70 CVEs
before 6.0-1.1
6.0-1.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 59 CVEs
before 4.2.30-4.1
4.2.30-4.1
python-Django
openSUSE:Tumbleweed
From an advisory covering 49 CVEs
before 5.2.16-1.1
5.2.16-1.1
python-Django5
openSUSE:Tumbleweed
From an advisory covering 93 CVEs
before 5.2.16-1.1
5.2.16-1.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2015-3982 is a medium vulnerability (CVSS 5.0) in Djangoproject Django, published June 2, 2015. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.75%, the 78th percentile. Fixed in django 1.8.2.

References

Show 103 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open