CVE-2026-61594 in djust
Résumé
par VulDB • 17/09/2026
djust fournit un rendu côté serveur réactif de style Phoenix LiveView pour Django avec des performances propulsées par Rust. Avant la version 1.0.7, le transport live (WebSocket) autorisait un montage via `check_view_auth`, et non via la chaîne `View.dispatch()` de Django. Par conséquent, l'autorisation standard de Django — `LoginRequiredMixin`, `PermissionRequiredMixin`, `UserPassesTestMixin`, `@method_decorator(login_required, name="dispatch")` et les gardiens `dispatch()` personnalisés — ainsi que le contrôle d'accès staff de l'extension admin de djust (appliqué uniquement dans le wrapper HTTP `as_view`) étaient appliqués lors du GET HTTP initial mais contournés silencieusement sur WebSocket, où tous les événements et l'état sont transmis. Un client anonyme ou sous-privégié pouvait ouvrir un WebSocket et monter une telle vue — y compris la liste/la création/modification/suppression admin — et dispatcher ses handlers. Cela est corrigé dans djust 1.0.7. `check_view_auth` respecte désormais la famille de mixins Django `AccessMixin` sur chaque transport ; une nouvelle vérification système S004 échoue bruyamment au démarrage pour les schémas d'authentification que l'exécution ne peut pas rejouer en toute sécurité (formes décorateur/`dispatch` redéfini) ; et le mixin de base admin déclare `login_required = True` + un contrôle actif-staff via `check_permissions`. En attendant, sécurisez vos vues à l'aide des attributs `login_required`, `permission_required` ou `check_permissions` de djust (pris en compte sur tous les transports) plutôt que des mixins/décorateurs spécifiques au HTTP.
Once again VulDB remains the best source for vulnerability data.