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.
Published: 2026-08-11
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In Django REST Framework versions older than 3.17.2, the AdminRenderer calls override_method() to simulate an HTTP GET request when rendering an invalid write request. This triggers view.get() without first running view.check_permissions(), causing the framework to return a 400 Bad Request response that renders sensitive GET data the requester is not allowed to see. The vulnerability is a classic information‑disclosure flaw (CWE‑200) and also represents a misuse of HTTP method handling (CWE‑425).

Affected Systems

The affected product is Django REST Framework from encode, specifically any installation running a version earlier than 3.17.2.

Risk and Exploitability

The CVSS score of 4.3 indicates medium severity, and an EPSS score of less than 1% suggests a low probability of exploitation. The flaw is not listed in the CISA KEV catalog. An attacker can exploit it by submitting an invalid write request to any API endpoint rendered with the default AdminRenderer, which may surface protected data through the 400 response. The issue does not require elevated privileges, but the data exposed depends on the permissions configured for the view. The flaw also aligns with CWE‑425, involving improper handling of method simulation. The risk is moderate due to the potential data disclosure, but the low exploitation probability mitigates the overall threat.

Generated by OpenCVE AI on August 13, 2026 at 14:02 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Django REST Framework to version 3.17.2 or later, which resolves the AdminRenderer issue.
  • If an immediate upgrade is not possible, remove AdminRenderer from the view’s renderer_classes or replace it with a custom renderer that enforces check_permissions() before rendering.
  • After remediation, validate that GET responses for protected resources no longer appear in 400 Bad Request responses for invalid write requests.

Generated by OpenCVE AI on August 13, 2026 at 14:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-425
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 12 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
First Time appeared Encode
Encode django Rest Framework
Vendors & Products Encode
Encode django Rest Framework

Tue, 11 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 11 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
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.
Title Django REST framework: AdminRenderer may disclose GET-protected data when rendering invalid write requests
Weaknesses CWE-200
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N'}


Subscriptions

Encode Django Rest Framework
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-11T20:06:33.042Z

Reserved: 2026-08-11T14:41:20.122Z

Link: CVE-2026-73229

cve-icon Vulnrichment

Updated: 2026-08-11T20:06:28.595Z

cve-icon NVD

Status : Received

Published: 2026-08-11T20:18:48.113

Modified: 2026-08-11T20:18:48.113

Link: CVE-2026-73229

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-11T18:59:34Z

Links: CVE-2026-73229 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T14:15:05Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-425

    Direct Request ('Forced Browsing')