CVE-2026-61595 in djust
요약
\~에 의해 VulDB • 2026. 09. 17.
djust는 Rust 기반의 성능을 제공하며 Django에서 Phoenix LiveView 스타일의 반응형 서버 측 렌더링을 제공합니다. 버전 1.0.7 이전에는 `djust.tenants` 격리가 HTTP 경로에서만 강제되었습니다. 현재 테넌트는 `threading.local()`에 저장되었으며 HTTP 전용인 `TenantMiddleware`에 의해서만 설정되었으므로, 라이브(WebSocket/SSE) 경로에서는 마운트 시와 모든 이벤트 핸들러 동안 `get_current_tenant()`가 항상 `None`이었습니다. 또한 테넌트 인식형 `QuerySet` 매니저는 OPEN 상태로 실패하여(필터링되지 않은 queryset을 반환하고 `STRICT_MODE`를 무시함) 소켓을 보유한 사용자에게 모든 테넌트의 행(row)이 노출되었습니다. `threading.local`은 추가로 `sync_to_async` 실행기 스레드에서 연결 간에 공유되었습니다. 이 문제는 djust 1.0.7에서 수정되었습니다. 테넌트 저장소가 `contextvars.ContextVar`(비동기 작업당 하나)로 이동했으며, 해결된 테넌트는 WS/SSE 마운트 및 모든 디스패치 주변에 바인딩됩니다. 두 매니저는 기본 queryset을 한 번 스코핑하고 CLOSED 상태로 실패합니다(기본값 `STRICT_MODE` 하에서 `.none()`); 시스템 체크 S006은 `STRICT_MODE=False`일 때 경고합니다. 라이브 경로에서는 알려진 우회 방법이 없습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.