🇰🇷 한글 설명
Python 3.x부터 3.9.1 버전 사이의 PyCArg_repr 함수에서 버퍼 오버플로우 취약점이 발견되었습니다. 신뢰할 수 없는 부동 소수점 입력을 처리하는 특정 Python 애플리케이션에서 원격 코드 실행(RCE)이 발생할 수 있습니다.
💡 쉬운 설명
프로그램이 숫자를 처리하는 과정에서 메모리 공간을 넘어서는 너무 큰 숫자를 입력받아 오류가 발생하는 문제입니다. 이를 통해 해커가 사용자의 컴퓨터에서 몰래 명령을 실행할 수 있습니다.
🇺🇸 원문 (English)
Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Python applications that accept floating-point numbers as untrusted input, as demonstrated by a 1e300 argument to c_double.from_param. This occurs because sprintf is used unsafely.
📍 영향받는 시스템
Python 3.x ~ 3.9.1 버전
⚔️ 공격 벡터
신뢰할 수 없는 부동 소수점 입력을 통해 PyCArg_repr 함수 내 sprintf의 안전하지 않은 사용을 유도
🛡️ 대응 방법
Python 버전을 3.9.1 이후의 최신 보안 패치 버전으로 업데이트
🔧 검증 코드
출력된 버전이 3.9.1 이하인지 확인하여 취약 여부를 판단합니다.