🇰🇷 한글 설명
Granian 0.2.0~2.7.3에서 WSGI 애플리케이션이 잘못된 HTTP 응답 헤더를 반환할 때 워커 프로세스가 강제 종료된다. 헤더 생성자에 unwrap()을 사용하여 오류 처리 대신 프로세스 중단이 발생하며, 2.7.4에서 수정되었다.
💡 쉬운 설명
Granian 웹 서버가 형식이 잘못된 응답을 받으면 프로그램이 갑자기 종료되는 문제가 있다. 이를 이용해 공격자가 웹 서비스를 중단시킬 수 있다.
🇺🇸 원문 (English)
Granian is a Rust HTTP server for Python applications. From 0.2.0 to 2.7.4, Granian aborts a worker process if a WSGI application returns an invalid HTTP response header name or value. The WSGI response conversion path uses .unwrap() on both the header name and header value constructors, so malformed output from the application becomes a process abort instead of a handled error. This vulnerability is fixed in 2.7.4.
📍 영향받는 시스템
Granian 0.2.0 ~ 2.7.3 (Python용 Rust HTTP 서버)
⚔️ 공격 벡터
WSGI 애플리케이션이 유효하지 않은 HTTP 헤더 이름/값을 반환하도록 조작하여 Granian 워커 프로세스 강제 종료
🛡️ 대응 방법
Granian을 2.7.4 이상으로 업그레이드
🔧 검증 코드
버전이 2.7.4 이상이면 안전하고, 2.7.3 이하이면 즉시 업그레이드 필요
pip show granian | grep -i version