CVE-2026-61599 in djustinformação

Sumário

de VulDB • 17/09/2026

djust fornece renderização reativa no lado do servidor estilo Phoenix LiveView para Django com desempenho impulsionado por Rust. Antes da versão 1.0.7, o transporte live do djust resolve a LiveView a montar a partir de um caminho pontilhado fornecido pelo cliente chamando `__import__(module_path, ...)`. O módulo é importado — executando seu código de nível superior (efeitos colaterais das imports) — antes que o framework verifique se o objeto resolvido é uma subclasse de `LiveView` e antes de qualquer autenticação por visualização. A lista permitida (`allowlist`) `LIVEVIEW_ALLOWED_MODULES`, que deveria conter isso, falha em aberto (fail-open) (`if allowed_modules:` — ignorada quando a configuração não está definida; o padrão do framework) e usa correspondência frouxa com `startswith`. Um cliente WebSocket não autenticado (o handshake WS não requer autenticação; a autenticação por visualização ocorre apenas após importação + instânciação) pode, portanto, enviar um frame `mount` / `live_redirect_mount` / `url_change` (ou uma montagem SSE) com `view = "<qualquer.módulo.importável>.QualquerNome"` e fazer com que o servidor importe — e execute o código de nível superior de — qualquer módulo Python importável pelo nome. A versão 1.0.7 corrige a issue com um gate de resolução fail-closed (`djust._view_resolution.is_view_import_allowed`): um caminho de visualização do cliente é resolvido apenas se (a) seu módulo já estiver carregado (`sys.modules` — portanto, a resolução não executa novo código; as views roteadas por URL carregadas pelo URLconf na inicialização continuam funcionando com configuração zero) ou (b) corresponder a `LIVEVIEW_ALLOWED_MODULES` em um limite de segmento do módulo (opt-in explícito para views importadas preguiçosamente). O gate é executado antes do `__import__` em todas as três sinks (+ defesa em profundidade dentro de `_instantiate_view`). Como solução alternativa, defina `LIVEVIEW_ALLOWED_MODULES` como a lista restrita de módulos que contêm suas classes LiveView montáveis. (Nota: pré-patch, a allowlist é correspondida com `startswith` e a importação ainda precede a verificação de subclasse, portanto isto é mitigação, não uma correção completa.)

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

GitHub M

Reservar

10/07/2026

Divulgação

17/09/2026

Moderação

aceite

Entrada

VDB-406267

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!