🇰🇷 한글 설명
Python 2.5.2 이전 버전의 32비트 플랫폼에서 유니코드 문자열 처리 중 메모리 할당 오류로 인한 버퍼 오버플로우 취약점입니다. unicode_resize 함수와 PyMem_RESIZE 매크로 관련 문제로, 긴 문자열을 통해 서비스 거부(크래시) 또는 다른 영향을 미칠 수 있습니다.
💡 쉬운 설명
Python에서 긴 문자열을 처리할 때 메모리 보호가 실패하여 프로그램이 강제 종료될 수 있습니다. 공격자는 특별히 제작한 문자열을 입력하여 Python 애플리케이션을 다운시킬 수 있습니다.
🇺🇸 원문 (English)
Multiple buffer overflows in Python 2.5.2 and earlier on 32bit platforms allow context-dependent attackers to cause a denial of service (crash) or have unspecified other impact via a long string that leads to incorrect memory allocation during Unicode string processing, related to the unicode_resize function and the PyMem_RESIZE macro.
📍 영향받는 시스템
Python 2.5.2 이전 버전 (32비트 플랫폼 환경)
⚔️ 공격 벡터
컨텍스트에 따라 장문의 문자열을 입력하여 유니코드 처리 중 버퍼 오버플로우 트리거
🛡️ 대응 방법
Python을 2.5.3 이상의 패치된 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 2.5.2 이하면 취약하며, 2.5.3 이상이거나 출력 없음은 안전함.
dpkg -l python2.5 2>/dev/null | grep -E '^ii' | awk '{print $3}'