🇰🇷 한글 설명
Windows 환경에서 CPython을 네이티브 애플리케이션에 임베딩하여 사용할 때, python3.dll을 로드하는 검색 경로가 유효하지 않아 트로이 목마 파일이 사용될 수 있는 취약점입니다. Py_SetPath 함수 호출 이후 python3X.dll이 잘못된 경로를 참조함으로써 발생합니다.
💡 쉬운 설명
파이썬을 다른 프로그램 안에 포함시켜 사용할 때, 해커가 만든 가짜 파이썬 파일이 진짜 대신 실행될 수 있는 문제입니다. 일반적인 파이썬 설치 방식에서는 발생하지 않지만, 특정 프로그램에 내장된 파이썬을 쓸 때 위험합니다.
🇺🇸 원문 (English)
In Python 3.6 through 3.6.10, 3.7 through 3.7.8, 3.8 through 3.8.4rc1, and 3.9 through 3.9.0b4 on Windows, a Trojan horse python3.dll might be used in cases where CPython is embedded in a native application. This occurs because python3X.dll may use an invalid search path for python3.dll loading (after Py_SetPath has been used). NOTE: this issue CANNOT occur when using python.exe from a standard (non-embedded) Python installation on Windows.
📍 영향받는 시스템
Windows 기반 Python 3.6~3.6.10, 3.7~3.7.8, 3.8~3.8.4rc1, 3.9~3.9.0b4
⚔️ 공격 벡터
임베디드 애플리케이션의 DLL 검색 경로 취약점을 이용한 악성 python3.dll 파일 삽입
🛡️ 대응 방법
취약점이 해결된 최신 버전의 Python으로 업데이트하거나 임베디드 환경의 DLL 로드 경로를 안전하게 설정
🔧 검증 코드
출력된 파이썬 버전이 취약 범위(3.6.10 이하, 3.7.8 이하, 3.8.4rc1 이하, 3.9.0b4 이하)에 해당하는지 확인