🇰🇷 한글 설명
Python의 smtplib 라이브러리가 StartTLS 실패 시 오류를 반환하지 않아, 중간자 공격자가 StartTLS 명령을 차단하여 TLS 암호화를 우회할 수 있는 취약점입니다. 이를 통해 공격자는 클라이언트와 메일 서버 간 통신을 평문으로 강제할 수 있습니다.
💡 쉬운 설명
Python 이메일 전송 시 보안 연결 실패를 무시하므로, 해커가 통신을 가로채서 비밀번호나 메시지를 볼 수 있습니다. 네트워크 중간에서 보안을 비활성화할 수 있다는 뜻입니다.
🇺🇸 원문 (English)
The smtplib library in CPython (aka Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x before 3.5.2 does not return an error when StartTLS fails, which might allow man-in-the-middle attackers to bypass the TLS protections by leveraging a network position between the client and the registry to block the StartTLS command, aka a "StartTLS stripping attack."
📍 영향받는 시스템
CPython 2.7.12 미만, 3.x 3.4.5 미만, 3.5.x 3.5.2 미만
⚔️ 공격 벡터
MITM 공격자가 StartTLS 명령을 차단하여 평문 SMTP 통신 강제
🛡️ 대응 방법
Python을 2.7.12, 3.4.5, 3.5.2 이상으로 업그레이드
🔧 검증 코드
현재 Python 버전 확인 후 권장 버전(2.7.12+, 3.4.5+, 3.5.2+) 이상인지 검증
python --version && python -c "import ssl; print('smtplib available')"|head -1