Debian Package Tracker
Register | Log in
Subscribe

djangorestframework

Choose email to subscribe with

general
  • source: djangorestframework (main)
  • version: 3.18.3+ds1-1
  • maintainer: Debian Python Team (DMD)
  • uploaders: Brian May [DMD]
  • arch: all
  • std-ver: 4.7.2
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 3.12.1-1
  • oldstable: 3.14.0-2+deb12u1
  • stable: 3.16.0-1
  • testing: 3.18.3+ds1-1
  • unstable: 3.18.3+ds1-1
versioned links
  • 3.12.1-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.14.0-2+deb12u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.16.0-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.18.3+ds1-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • python-djangorestframework-doc (2 bugs: 0, 2, 0, 0)
  • python3-djangorestframework (1 bugs: 0, 1, 0, 0)
action needed
Marked for autoremoval on 22 November due to debugpy, ipykernel, ipython, jupyter-server-terminals, jupyterlab, pydevd, python-botocore, python-django, python-hypothesis, python-syrupy: #1126323, #1145153, #1145330, #1145439, #1145458, #1146434, #1147441, #1147480, #1149388, #1149942, #1150176 high
Version 3.18.3+ds1-1 of djangorestframework is marked for autoremoval from testing on Sun 22 Nov 2026. It depends (transitively) on debugpy, ipykernel, ipython, jupyter-server-terminals, jupyterlab, pydevd, python-botocore, python-django, python-hypothesis, python-syrupy, affected by #1126323, #1145153, #1145330, #1145439, #1145458, #1146434, #1147441, #1147480, #1149388, #1149942, #1150176. You should try to prevent the removal by fixing these RC bugs.
Created: 2026-10-23 Last update: 2026-10-30 09:01
5 security issues in trixie high

There are 5 open security issues in trixie.

3 important issues:
  • CVE-2026-114136: Django REST framework is a toolkit for building Web APIs. From 3.6.4 until 3.18.2, JSONParser.parse in rest_framework/parsers.py uses the client-supplied Content-Type charset value with codecs.getreader, which accepts byte-transform codecs such as bz2_codec rather than only text encodings. A remote unauthenticated client can therefore cause a compressed JSON request body to be expanded after Django has enforced DATA_UPLOAD_MAX_MEMORY_SIZE against only the wire bytes, allowing a very small request to consume substantial per-worker memory. The default parser set is sufficient, and any reachable endpoint that accepts a JSON body is affected. This issue is fixed in version 3.18.2.
  • CVE-2026-114137: Django REST framework is a toolkit for building Web APIs. From 3.12.0 until 3.18.2, TokenProxy.delete() in rest_framework/authtoken/models.py uses the proxy's user-id pk while the concrete Token token-string primary key identifies rows, so Django issues a deletion query that matches no row and reports zero deletions without raising an error. Applications, administrative integrations, or operational scripts that revoke credentials through a TokenProxy instance can therefore believe revocation succeeded while the token remains live and continues authenticating. DRF's own TokenAdmin.delete_model workaround is not affected, but other callers can leave access available indefinitely because DRF tokens do not expire automatically. This issue is fixed in version 3.18.2.
  • CVE-2026-114138: Django REST framework is a toolkit for building Web APIs. Prior to 3.18.2, DefaultContentNegotiation.get_accept_list in rest_framework/negotiation.py accepts an unbounded number and aggregate size of Accept tokens, while select_renderer in that file repeatedly invokes _MediaType parsing from rest_framework/utils/mediatypes.py for each attacker-controlled token, every renderer, and forced 406 renegotiation. A remote unauthenticated client can send many distinct media types containing large quoted parameter values with numerous semicolons, causing Django's parameter parser and DRF's repeated parsing structure to consume disproportionate CPU. Requests to any reachable endpoint can pin synchronous workers for prolonged periods, and concurrent requests can make the service unavailable until the requests stop. This issue is fixed in version 3.18.2.
2 issues left for the package maintainer to handle:
  • CVE-2026-73228: (needs triaging) Django REST framework is a toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's request.data parsing in rest_framework/request.py Request._parse() passes the underlying HttpRequest stream to JSONParser and FormParser for application/json and application/x-www-form-urlencoded bodies, bypassing Django's DATA_UPLOAD_MAX_MEMORY_SIZE protection and allowing oversized request bodies to consume additional memory and CPU. This issue is fixed in version 3.17.2.
  • CVE-2026-73229: (needs triaging) Django REST framework is a powerful and flexible toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's rest_framework/renderers.py AdminRenderer.render() uses override_method() to simulate GET and directly invokes view.get() without view.check_permissions() while rendering an invalid write request, allowing a 400 Bad Request HTML response to disclose data from a GET representation that the requester is not permitted to access. This issue is fixed in version 3.17.2.

You can find information about how to handle these issues in the security team's documentation.

Created: 2026-08-11 Last update: 2026-10-22 22:00
6 security issues in bookworm high

There are 6 open security issues in bookworm.

3 important issues:
  • CVE-2026-114136: Django REST framework is a toolkit for building Web APIs. From 3.6.4 until 3.18.2, JSONParser.parse in rest_framework/parsers.py uses the client-supplied Content-Type charset value with codecs.getreader, which accepts byte-transform codecs such as bz2_codec rather than only text encodings. A remote unauthenticated client can therefore cause a compressed JSON request body to be expanded after Django has enforced DATA_UPLOAD_MAX_MEMORY_SIZE against only the wire bytes, allowing a very small request to consume substantial per-worker memory. The default parser set is sufficient, and any reachable endpoint that accepts a JSON body is affected. This issue is fixed in version 3.18.2.
  • CVE-2026-114137: Django REST framework is a toolkit for building Web APIs. From 3.12.0 until 3.18.2, TokenProxy.delete() in rest_framework/authtoken/models.py uses the proxy's user-id pk while the concrete Token token-string primary key identifies rows, so Django issues a deletion query that matches no row and reports zero deletions without raising an error. Applications, administrative integrations, or operational scripts that revoke credentials through a TokenProxy instance can therefore believe revocation succeeded while the token remains live and continues authenticating. DRF's own TokenAdmin.delete_model workaround is not affected, but other callers can leave access available indefinitely because DRF tokens do not expire automatically. This issue is fixed in version 3.18.2.
  • CVE-2026-114138: Django REST framework is a toolkit for building Web APIs. Prior to 3.18.2, DefaultContentNegotiation.get_accept_list in rest_framework/negotiation.py accepts an unbounded number and aggregate size of Accept tokens, while select_renderer in that file repeatedly invokes _MediaType parsing from rest_framework/utils/mediatypes.py for each attacker-controlled token, every renderer, and forced 406 renegotiation. A remote unauthenticated client can send many distinct media types containing large quoted parameter values with numerous semicolons, causing Django's parameter parser and DRF's repeated parsing structure to consume disproportionate CPU. Requests to any reachable endpoint can pin synchronous workers for prolonged periods, and concurrent requests can make the service unavailable until the requests stop. This issue is fixed in version 3.18.2.
3 issues postponed or untriaged:
  • CVE-2024-21520: (needs triaging) Versions of the package djangorestframework before 3.15.2 are vulnerable to Cross-site Scripting (XSS) via the break_long_headers template filter due to improper input sanitization before splitting and joining with <br> tags.
  • CVE-2026-73228: (postponed; to be fixed through a stable update) Django REST framework is a toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's request.data parsing in rest_framework/request.py Request._parse() passes the underlying HttpRequest stream to JSONParser and FormParser for application/json and application/x-www-form-urlencoded bodies, bypassing Django's DATA_UPLOAD_MAX_MEMORY_SIZE protection and allowing oversized request bodies to consume additional memory and CPU. This issue is fixed in version 3.17.2.
  • CVE-2026-73229: (postponed; to be fixed through a stable update) Django REST framework is a powerful and flexible toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's rest_framework/renderers.py AdminRenderer.render() uses override_method() to simulate GET and directly invokes view.get() without view.check_permissions() while rendering an invalid write request, allowing a 400 Bad Request HTML response to disclose data from a GET representation that the requester is not permitted to access. This issue is fixed in version 3.17.2.
Created: 2026-10-22 Last update: 2026-10-22 22:00
3 security issues in bullseye high

There are 3 open security issues in bullseye.

2 important issues:
  • CVE-2026-73228: Django REST framework is a toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's request.data parsing in rest_framework/request.py Request._parse() passes the underlying HttpRequest stream to JSONParser and FormParser for application/json and application/x-www-form-urlencoded bodies, bypassing Django's DATA_UPLOAD_MAX_MEMORY_SIZE protection and allowing oversized request bodies to consume additional memory and CPU. This issue is fixed in version 3.17.2.
  • CVE-2026-73229: Django REST framework is a powerful and flexible toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's rest_framework/renderers.py AdminRenderer.render() uses override_method() to simulate GET and directly invokes view.get() without view.check_permissions() while rendering an invalid write request, allowing a 400 Bad Request HTML response to disclose data from a GET representation that the requester is not permitted to access. This issue is fixed in version 3.17.2.
1 issue postponed or untriaged:
  • CVE-2024-21520: (needs triaging) Versions of the package djangorestframework before 3.15.2 are vulnerable to Cross-site Scripting (XSS) via the break_long_headers template filter due to improper input sanitization before splitting and joining with <br> tags.
Created: 2026-08-11 Last update: 2026-08-17 14:30
1 security issue in buster high

There is 1 open security issue in buster.

1 important issue:
  • CVE-2024-21520: Versions of the package djangorestframework before 3.15.2 are vulnerable to Cross-site Scripting (XSS) via the break_long_headers template filter due to improper input sanitization before splitting and joining with <br> tags.
Created: 2024-06-28 Last update: 2024-06-30 08:02
lintian reports 3 warnings normal
Lintian reports 3 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-08-03 Last update: 2026-09-27 21:31
debian/patches: 1 patch to forward upstream low

Among the 2 debian patches available in version 3.18.3+ds1-1 of the package, we noticed the following issues:

  • 1 patch where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2026-09-27 Last update: 2026-10-12 12:30
Issues found with some translations low

Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.

Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.

Created: 2020-02-26 Last update: 2025-08-12 02:03
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.2).
Created: 2025-12-23 Last update: 2026-10-11 21:19
news
[rss feed]
  • [2026-10-15] djangorestframework 3.18.3+ds1-1 MIGRATED to testing (Debian testing watch)
  • [2026-10-11] Accepted djangorestframework 3.18.3+ds1-1 (source) into unstable (Colin Watson)
  • [2026-10-05] djangorestframework 3.18.1+ds1-1 MIGRATED to testing (Debian testing watch)
  • [2026-09-27] Accepted djangorestframework 3.18.1+ds1-1 (source) into unstable (Colin Watson)
  • [2026-08-08] djangorestframework 3.17.1+ds1-1 MIGRATED to testing (Debian testing watch)
  • [2026-08-03] Accepted djangorestframework 3.17.1+ds1-1 (source) into unstable (Colin Watson)
  • [2026-08-02] Accepted djangorestframework 3.17.1-1 (source) into unstable (Colin Watson)
  • [2026-06-27] djangorestframework 3.16.1-4 MIGRATED to testing (Debian testing watch)
  • [2026-06-25] Accepted djangorestframework 3.16.1-4 (source) into unstable (Stefano Rivera)
  • [2025-11-12] djangorestframework 3.16.1-3 MIGRATED to testing (Debian testing watch)
  • [2025-11-09] Accepted djangorestframework 3.16.1-3 (source) into unstable (Colin Watson)
  • [2025-09-14] djangorestframework 3.16.1-1 MIGRATED to testing (Debian testing watch)
  • [2025-08-10] Accepted djangorestframework 3.16.1-1 (source) into unstable (Colin Watson)
  • [2025-04-11] djangorestframework 3.16.0-1 MIGRATED to testing (Debian testing watch)
  • [2025-04-08] Accepted djangorestframework 3.16.0-1 (source) into unstable (Colin Watson)
  • [2024-12-05] djangorestframework 3.15.2-2 MIGRATED to testing (Debian testing watch)
  • [2024-12-03] Accepted djangorestframework 3.15.2-2 (source) into unstable (Colin Watson)
  • [2024-07-02] djangorestframework 3.15.2-1 MIGRATED to testing (Debian testing watch)
  • [2024-06-29] Accepted djangorestframework 3.15.2-1 (source) into unstable (Carsten Schoenert)
  • [2024-06-13] Accepted djangorestframework 3.14.0-2+deb12u1 (source) into proposed-updates (Debian FTP Masters) (signed by: Carsten Schoenert)
  • [2024-06-05] djangorestframework 3.15.1-2 MIGRATED to testing (Debian testing watch)
  • [2024-06-05] djangorestframework 3.15.1-2 MIGRATED to testing (Debian testing watch)
  • [2024-06-01] Accepted djangorestframework 3.15.1-2 (source) into unstable (Carsten Schoenert)
  • [2024-03-30] djangorestframework 3.15.1-1 MIGRATED to testing (Debian testing watch)
  • [2024-03-23] Accepted djangorestframework 3.15.1-1 (source) into unstable (Carsten Schoenert)
  • [2023-02-02] djangorestframework 3.14.0-2 MIGRATED to testing (Debian testing watch)
  • [2023-01-31] Accepted djangorestframework 3.14.0-2 (source) into unstable (Antonio Terceiro)
  • [2022-10-19] djangorestframework 3.14.0-1 MIGRATED to testing (Debian testing watch)
  • [2022-10-19] djangorestframework 3.14.0-1 MIGRATED to testing (Debian testing watch)
  • [2022-10-11] Accepted djangorestframework 3.14.0-1 (source) into unstable (Michael Fladischer)
  • 1
  • 2
bugs [bug history graph]
  • all: 2 3
  • RC: 0
  • I&N: 2 3
  • M&W: 0
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian (0, 3)
  • buildd: logs, reproducibility
  • popcon
  • browse source code
  • other distros
  • security tracker
  • l10n (-, 58)
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 3.17.1+ds1-1
  • 1 bug

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing