🔍 CVE-2026-115927

5.3
CVSS Score
MEDIUM
2026-10-26
2026-10-27 15:16
✅ 완료

🇰🇷 한글 설명

Tornado 6.6.0 이전 버전은 HTTP/1.1 chunked 전송 인코딩을 처리할 때 이벤트 루프에 양보하지 않고 이미 도착한 본문 데이터를 연속 처리합니다. 원격의 인증되지 않은 공격자가 수백만 개의 1바이트 청크를 전송해 이벤트 루프를 점유하고 같은 프로세스의 다른 연결을 지연시킬 수 있으며, 6.6.0에서 수정되었습니다.

💡 쉬운 설명

공격자가 아주 잘게 나눈 데이터를 대량으로 보내 서버가 다른 사용자의 요청을 처리하지 못하게 만들 수 있습니다. 소프트웨어를 6.6.0 이상으로 업데이트하면 이 문제가 해결됩니다.

🇺🇸 원문 (English)

Tornado is a Python web framework and asynchronous networking library. Prior to 6.6.0, Tornado decodes HTTP/1.1 chunked transfer encoding by processing body data that has already arrived without yielding to the event loop. A remote unauthenticated peer can send millions of one-byte chunks to monopolize the process event loop and stall every other connection served by that process, while lowering max_body_size only limits the duration of each request. For handlers that do not use @stream_request_body, retaining each chunk as a separate object can consume roughly twenty times the received body size, and SimpleAsyncHTTPClient has the same event-loop behavior when reading a response from a malicious server. This issue is fixed in version 6.6.0.

📍 영향받는 시스템

Tornado 6.6.0 미만을 사용하는 Python 웹 애플리케이션 및 SimpleAsyncHTTPClient 사용 환경

⚔️ 공격 벡터

인증 없이 원격에서 chunked 인코딩으로 수백만 개의 1바이트 청크를 전송하여 이벤트 루프를 점유하는 서비스 거부(DoS) 공격

🛡️ 대응 방법

Tornado를 6.6.0 이상으로 업그레이드 (pip install --upgrade 'tornado>=6.6.0')

🔧 검증 코드

출력된 버전이 6.6.0 미만이면 취약하므로 업그레이드가 필요하고, 6.6.0 이상이면 수정된 버전입니다.

Shell / Script
python3 -c "import tornado; print(tornado.version)" 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python