🇰🇷 한글 설명
pybars4 0.9.13 이하 버전의 pybars/_compiler.py에는 코드 인젝션 취약점이 존재합니다. 공격자는 Handlebars 템플릿의 대괄호 경로 세그먼트를 이스케이프하지 않은 상태로 조작하여 생성되는 resolve() 문자열 리터럴을 빠져나올 수 있습니다. 이를 통해 애플리케이션 프로세스에서 임의의 Python 코드가 실행될 수 있습니다.
💡 쉬운 설명
템플릿 엔진이 사용자 입력을 제대로 걸러내지 않아, 악의적인 템플릿으로 서버에서 임의의 프로그램을 실행당할 수 있습니다. 공격에 성공하면 서버 장악이나 데이터 유출로 이어질 수 있습니다.
🇺🇸 원문 (English)
pybars4 through 0.9.13 contains a code injection vulnerability in pybars/_compiler.py that allows attackers to execute Python code via unescaped bracketed path segments in Handlebars templates. Attackers can supply a template with a crafted segment in a helper or block argument to break out of the generated resolve() string literal and execute code in the application process.
📍 영향받는 시스템
pybars4 0.9.13 이하 버전을 사용하는 Python 애플리케이션 전체
⚔️ 공격 벡터
헬퍼 또는 블록 인자에 특수하게 조작된 대괄호 경로 세그먼트를 포함한 Handlebars 템플릿을 전달하여 코드 실행
🛡️ 대응 방법
pybars4를 0.9.13 초과의 패치된 버전으로 업그레이드하고, 신뢰할 수 없는 사용자가 작성한 템플릿을 렌더링하지 않도록 설계를 점검
🔧 검증 코드
출력된 버전이 0.9.13 이하이면 취약하며, 0.9.13 초과(패치 버전)이면 조치가 완료된 것입니다.
pip show pybars4 2>/dev/null | grep -i '^version'