🇰🇷 한글 설명
Python 3.2 이전 버전의 asyncore 모듈이 accept() 함수의 실패 호출을 적절히 처리하지 못하여, 원격 공격자가 비정상적인 네트워크 연결을 통해 데몬 애플리케이션을 종료시킬 수 있는 서비스 거부(DoS) 취약점입니다.
💡 쉬운 설명
Python에서 네트워크 연결을 받아들이는 부분에 문제가 있어서, 악의적인 연결을 보내면 프로그램이 꺼질 수 있습니다. 이는 주로 서버나 데몬 프로그램에 영향을 미칩니다.
🇺🇸 원문 (English)
The asyncore module in Python before 3.2 does not properly handle unsuccessful calls to the accept function, and does not have accompanying documentation describing how daemon applications should handle unsuccessful calls to the accept function, which makes it easier for remote attackers to conduct denial of service attacks that terminate these applications via network connections.
📍 영향받는 시스템
Python < 3.2 (asyncore 모듈 사용하는 모든 애플리케이션)
⚔️ 공격 벡터
악의적인 네트워크 연결을 통해 accept() 함수가 반복적으로 실패하도록 유도하여 데몬 프로세스 종료
🛡️ 대응 방법
Python을 3.2 이상으로 업그레이드하거나 asyncore 모듈 대신 asyncio 사용
🔧 검증 코드
'Patched'가 출력되면 안전, 'Vulnerable'이 출력되면 Python 버전 업그레이드 필요
python3 -c "import sys; print('Vulnerable' if sys.version_info < (3, 2) else 'Patched')"