Платформа Django REST — это мощный и гибкий набор инструментов для создания веб-API. До версии 3.17.2 rest_framework/renderers.py AdminRenderer.render() Django REST Framework использует override_method() для имитации GET и напрямую вызывает view.get() без view.check_permissions() при рендеринге недопустимого запроса на запись, позволяя HTML-ответу 400 Bad Request раскрывать данные из представления GET, к которым запрашивающему не разрешен доступ. Эта проблема исправлена в версии 3.17.2.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1