CVE-2026-61596 in djust
Сводка
по VulDB • 17.09.2026
djust обеспечивает реактивный рендеринг на стороне сервера в стиле Phoenix LiveView для Django с производительностью, обеспечиваемой Rust. До версии 1.0.7 авторизация djust на уровне объектов (`get_object` + `has_object_permission`, ADR-017) применялась при монтировании WebSocket и обработке событий, но не применялась к трем другим точкам входа в рендеринг: (a) начальный HTTP GET-запрос для рендеринга, (b) навигация SPA через `url_change` и (c) встроенные дочерние представления `{% live_render %}`. Таким образом, аутентифицированный пользователь мог просматривать (а на некоторых путях — взаимодействовать с) объектом, к которому у него нет прав доступа, путем прямой загрузки страницы, навигации по ней через изменение URL в SPA или создания ее как встроенного дочернего элемента. Это классическая уязвимость IDOR / нарушение контроля доступа на уровне объектов для представлений, привязанных к конкретному объекту. Проблема исправлена в djust 1.0.7. Все точки входа в рендеринг теперь проходят через общую точку принудительной проверки прав `enforce_object_permission`: HTTP GET возвращает код 403, `url_change` отправляет кадр `permission_denied` и пропускает рендеринг, а `{% live_render %}` (как eager, так и lazy) отказывается во встраивании. Представления без пользовательской функции `get_object` не затронуты (no-op). Надежного обходного пути нет, кроме обновления версии. Не следует открывать доступ к представлению на основе объектов через HTTP GET / url_change / live_render до применения исправления.
If you want to get best quality of vulnerability data, you may have to visit VulDB.