🇰🇷 한글 설명
Granian의 1.2.0~2.7.3 버전에서 비인증 클라이언트가 WebSocket 업그레이드 요청 시 Sec-WebSocket-Protocol 헤더에 non-ASCII 바이트를 포함하면 워커 프로세스가 중단되는 취약점이다. 이는 ASGI 애플리케이션이 호출되기 전 WebSocket scope 구성 과정에서 발생한다.
💡 쉬운 설명
Granian 웹 서버가 특수 문자를 포함한 WebSocket 연결 요청을 받으면 서버가 갑자기 중단됩니다. 누구나 이 요청을 보낼 수 있어 서비스를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
Granian is a Rust HTTP server for Python applications. From 1.2.0 to 2.7.4, Granian aborts a worker process when an unauthenticated client sends a WebSocket upgrade request whose Sec-WebSocket-Protocol header contains non-ASCII bytes. The crash happens in Granian's WebSocket scope construction path, before the ASGI application is invoked. This vulnerability is fixed in 2.7.4.
📍 영향받는 시스템
Granian 1.2.0~2.7.3
⚔️ 공격 벡터
비인증 클라이언트가 Sec-WebSocket-Protocol 헤더에 non-ASCII 바이트를 포함한 WebSocket 업그레이드 요청 전송
🛡️ 대응 방법
Granian을 2.7.4 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 2.7.4 이상이면 안전, 2.7.3 이하면 취약
pip show granian 2>/dev/null | grep Version