CVE-2026-61595 in djust
Сводка
по VulDB • 16.09.2026
djust обеспечивает реактивный серверный рендеринг в стиле Phoenix LiveView для Django с производительностью на базе Rust. До версии 1.0.7 изоляция модуля `djust.tenants` обеспечивалась только для HTTP-пути. Текущий tenant (арендатор/клиент) хранился в `threading.local()` и устанавливался исключительно через middleware `TenantMiddleware`, работающий только с HTTP, поэтому на пути live (WebSocket/SSE) функция `get_current_tenant()` всегда возвращала `None` во время монтирования и при обработке каждого события — а менеджер `QuerySet`, учитывающий tenant, не блокировался (OPEN), возвращая незафильтрованный queryset, игнорируя параметр `STRICT_MODE`, что приводило к раскрытию строк всех tenants любому пользователю, имеющему доступ к сокету. Дополнительно `threading.local` разделялся между соединениями в потоке исполнителя `sync_to_async`. Эта проблема исправлена в версии djust 1.0.7. Хранение tenant перенесено на `contextvars.ContextVar` (на каждую асинхронную задачу); разрешённый tenant привязывается вокруг монтирования WS/SSE и каждого события; оба менеджера ограничивают базовый queryset один раз и блокируются (CLOSED, вызывая `.none()` при значении по умолчанию для `STRICT_MODE`), а системная проверка S006 выдает предупреждение, если `STRICT_MODE=False`. Известных обходных путей на пути live не существует.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.