CVE-2026-61589 in djust
Сводка
по VulDB • 17.09.2026
djust обеспечивает реактивный рендеринг на стороне сервера в стиле Phoenix LiveView для Django с производительностью, обеспечиваемой Rust. До версии 1.0.7 WebSocket-методы `handle_mount` и `ViewRuntime._build_request` воссоздавали объект `HttpRequest` через `RequestFactory().get(...)` без заголовка `HTTP_HOST`, из-за чего `request.get_host()` по умолчанию возвращал `"testserver"` на пути live-взаимодействия. Резолверы арен (TenantResolver) для хоста/поддомена/домена затем некорректно определяли арену — значение `None` на пути live, в то время как HTTP-путь разрешался правильно. При `STRICT_MODE=False` менеджеры с привязкой к арене возвращали строки без фильтрации по арене (утечка данных между аренами); при значении по умолчанию они возвращали пустой queryset (нарушение изоляции арен). Эта проблема исправлена в djust 1.0.7. Заголовок Host из рукопожатия извлекается из ASGI-контекста, проверяется на соответствие `ALLOWED_HOSTS` (та же логика, что и у шлюза CSWSH Origin), парсится с помощью функции Django `split_domain_port`, чтобы некорректные заголовки Host отклонялись на границе, а затем передается — вместе со схемой TLS — в воссозданный запрос, благодаря чему разрешение арен на пути live точно соответствует HTTP-пути. Известных обходных путей для live-взаимодействия, кроме обновления, нет. Пользователи наиболее уязвимы при сочетании с `STRICT_MODE=False`.
If you want to get best quality of vulnerability data, you may have to visit VulDB.