Description
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.
References6
- github.com/encode/django-rest-framework/commit/71f81946906e52f9…
- github.com/encode/django-rest-framework/commit/9e82afc98acfe6fc…
- github.com/encode/django-rest-framework/pull/10012
- github.com/encode/django-rest-framework/releases/tag/3.17.2
- github.com/encode/django-rest-framework/security/advisories/GHS…
- github.com/encode/django-rest-framework/security/advisories/GHS…
Metrics
- CVSS 3.1
-
4.3
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - EPSS — exploit probability
- 0% percentile: 32 · as of 12 November 2026
- CWE
- CWE-200
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.