CVE-2026-61595 in djust
Tóm tắt
Bởi VulDB • 17/09/2026
djust cung cấp khả năng render phía máy chủ theo kiểu phản hồi tương tự như Phoenix LiveView cho Django, với hiệu suất được tăng cường bởi Rust. Trước phiên bản 1.0.7, cơ chế cách ly `djust.tenants` chỉ được áp dụng trên đường dẫn HTTP. Tenant hiện tại được lưu trữ trong `threading.local()` và chỉ được thiết lập bởi `TenantMiddleware` (chỉ hoạt động với HTTP), do đó trên các đường dẫn thời gian thực (WebSocket/SSE), hàm `get_current_tenant()` luôn trả về `None` khi mount và trong mọi trình xử lý sự kiện — đồng thời, bộ quản lý `QuerySet` có nhận biết tenant bị OPEN (trả về queryset không được lọc, bỏ qua `STRICT_MODE`), dẫn đến việc tiết lộ tất cả các hàng dữ liệu của mỗi tenant cho bất kỳ ai đang nắm giữ socket. Ngoài ra, `threading.local` còn bị chia sẻ giữa nhiều kết nối trên luồng executor `sync_to_async`. Vấn đề này đã được sửa trong djust 1.0.7. Việc lưu trữ tenant đã chuyển sang sử dụng `contextvars.ContextVar` (mỗi tác vụ async có một biến ngữ cảnh riêng); tenant đã giải quyết được ràng buộc xung quanh quá trình mount WS/SSE và mọi lần dispatch; cả hai bộ quản lý đều scope hóa queryset cơ sở một lần và fail CLOSED (` .none()` dưới chế độ mặc định `STRICT_MODE`); đồng thời, hệ thống kiểm tra S006 sẽ cảnh báo khi `STRICT_MODE=False`. Không có các giải pháp tạm thời nào được biết đến cho đường dẫn live.
If you want to get best quality of vulnerability data, you may have to visit VulDB.