🇰🇷 한글 설명
Panda3D의 deploy-stub 컴포넌트에서 alloca() 함수가 공격자 제어 argc 값을 검증 없이 스택에 할당하여 발생하는 서비스 거부 취약점입니다. 대량의 명령줄 인자를 전달하면 스택 메모리 고갈 및 Python 초기화 중 미초기화 메모리 접근으로 인해 신뢰할 수 있는 크래시가 발생합니다.
💡 쉬운 설명
Panda3D 프로그램에 많은 인자를 전달하면 내부 메모리 관리 방식의 결함으로 인해 프로그램이 크래시합니다. 공격자가 원격에서 이를 악용하여 서비스를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
The deploy-stub component in Panda3D versions up to and including 1.10.16 contains a denial of service vulnerability due to unbounded stack allocation. The deploy-stub executable allocates argv_copy and argv_copy2 using alloca() based directly on the attacker-controlled argc value without validation. Supplying a large number of command-line arguments can exhaust stack space and propagate uninitialized stack memory into Python interpreter initialization, resulting in a reliable crash and undefined behavior.
📍 영향받는 시스템
Panda3D 1.10.16 이하 버전의 deploy-stub 컴포넌트
⚔️ 공격 벡터
deploy-stub 실행 시 매우 많은 수의 명령줄 인자(argc)를 전달하여 스택 오버플로우 유발
🛡️ 대응 방법
Panda3D를 1.10.17 이상으로 업그레이드하거나 deploy-stub 사용을 제한 및 입력 검증 강화
🔧 검증 코드
명령어 실행 후 deploy-stub 파일이 검출되면 Panda3D 설치 경로 확인 후 버전을 조사(panda3d --version 또는 설치 디렉토리의 VERSION 파일)
find / -name 'deploy-stub' 2>/dev/null -exec file {} \; | grep -i panda