🔍 CVE-2022-31015

6.5
CVSS Score
MEDIUM
2022-05-31
2026-06-17 04:44
✅ 완료

🇰🇷 한글 설명

Waitress 2.1.0 및 2.1.1 버전에서 메인 스레드가 select()를 호출하려는 시점에 WSGI 스레드가 소켓을 조기 종료할 경우 예외가 발생할 수 있습니다. 이 예외는 적절히 처리되지 않아 애플리케이션 전체가 종료되는 문제를 일으킵니다.

💡 쉬운 설명

웹 서버 내부에서 작업 중인 스레드끼리 충돌이 발생하여 서버 프로그램이 갑자기 꺼지는 문제입니다. 이로 인해 서비스가 중단될 수 있습니다.

🇺🇸 원문 (English)

Waitress is a Web Server Gateway Interface server for Python 2 and 3. Waitress versions 2.1.0 and 2.1.1 may terminate early due to a thread closing a socket while the main thread is about to call select(). This will lead to the main thread raising an exception that is not handled and then causing the entire application to be killed. This issue has been fixed in Waitress 2.1.2 by no longer allowing the WSGI thread to close the socket. Instead, that is always delegated to the main thread. There is no work-around for this issue. However, users using waitress behind a reverse proxy server are less likely to have issues if the reverse proxy always reads the full response.

📍 영향받는 시스템

Waitress 2.1.0, 2.1.1

⚔️ 공격 벡터

특정 네트워크 요청 패턴을 통해 메인 스레드와 작업 스레드 간의 소켓 종료 타이밍 충돌 유도

🛡️ 대응 방법

Waitress 버전을 2.1.2 이상으로 업데이트하거나, 리버스 프록시를 사용하여 응답을 완전히 읽도록 설정

🔧 검증 코드

출력된 버전이 2.1.0 또는 2.1.1인 경우 취약한 상태입니다.

Shell / Script
pip show waitress | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Python