🇰🇷 한글 설명
Python 2.x(2.7.17 이하) 및 Python 3.x(3.8.0 이하)의 urllib/urllib2 라이브러리에서 CRLF 인젝션 취약점이 발견되었습니다. 공격자가 URL 파라미터를 제어할 수 있는 경우, 호스트 구성 요소에 줄바꿈 문자를 삽입하여 임의의 HTTP 헤더를 주입할 수 있습니다.
💡 쉬운 설명
웹 주소에 몰래 줄바꿈 문자를 넣어 공격자가 원하는 명령어를 웹 서버에 전달할 수 있는 문제입니다. 이를 통해 공격자는 정상적인 요청인 것처럼 속여 잘못된 정보를 보내거나 서버를 교란할 수 있습니다.
🇺🇸 원문 (English)
An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \r\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.). This is fixed in: v2.7.18, v2.7.18rc1; v3.5.10, v3.5.10rc1; v3.6.11, v3.6.11rc1, v3.6.12; v3.7.8, v3.7.8rc1, v3.7.9; v3.8.3, v3.8.3rc1, v3.8.4, v3.8.4rc1, v3.8.5, v3.8.6, v3.8.6rc1.
📍 영향받는 시스템
Python 2.x (<= 2.7.17), Python 3.x (<= 3.8.0)
⚔️ 공격 벡터
공격자가 제어 가능한 URL 파라미터 내에 CRLF(
) 문자를 삽입하여 HTTP 헤더를 조작함
🛡️ 대응 방법
Python 버전을 v2.7.18 이상 또는 v3.5.10, v3.6.11, v3.7.8, v3.8.3 이상의 보안 패치 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 Python 버전을 확인하여 취약한 버전 범위에 해당하는지 대조합니다.
python --version 2>/dev/null || python3 --version 2>/dev/null