🇰🇷 한글 설명
Python 3.x의 http.client 모듈에서 HTTP 요청 메서드에 CRLF 제어 문자를 삽입할 수 있는 취약점이 발견되었습니다. 공격자가 요청 메서드를 제어할 수 있는 경우, 이를 통해 CRLF 인젝션 공격이 가능합니다.
💡 쉬운 설명
웹사이트에 요청을 보낼 때 특수 문자를 몰래 끼워 넣어 서버를 속이는 공격입니다. 이를 통해 공격자가 원하는 명령을 추가하거나 보안 설정을 우회할 수 있습니다.
🇺🇸 원문 (English)
http.client in Python 3.x before 3.5.10, 3.6.x before 3.6.12, 3.7.x before 3.7.9, and 3.8.x before 3.8.5 allows CRLF injection if the attacker controls the HTTP request method, as demonstrated by inserting CR and LF control characters in the first argument of HTTPConnection.request.
📍 영향받는 시스템
Python 3.5.10 미만, 3.6.x < 3.6.12, 3.7.x < 3.7.9, 3.8.x < 3.8.5
⚔️ 공격 벡터
HTTPConnection.request 함수의 첫 번째 인자인 메서드에 CR(
) 및 LF(
) 문자를 삽입하여 공격
🛡️ 대응 방법
Python 버전을 취약점이 해결된 최신 패치 버전(3.5.10, 3.6.12, 3.7.9, 3.8.5 이상)으로 업데이트
🔧 검증 코드
출력된 버전 번호가 취약한 버전 범위에 포함되는지 확인
python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}")'