🇰🇷 한글 설명
dynaconf의 Jinja2 resolver에서 구성 값에 포함된 템플릿 표현식을 샌드박스 없이 평가하여 SSTI 취약점 발생. 공격자가 악의적인 템플릿 코드를 주입하여 원격 코드 실행 가능. 버전 3.2.13에서 패치됨.
💡 쉬운 설명
dynaconf 설정 도구가 사용자가 입력한 텍스트에 숨겨진 명령어를 검증하지 않아 공격자가 악성 코드를 실행할 수 있다. 프로그램을 업그레이드하면 이 문제가 해결된다.
🇺🇸 원문 (English)
dynaconf is a configuration management tool for Python. Prior to version 3.2.13, Dynaconf is vulnerable to Server-Side Template Injection (SSTI) due to unsafe template evaluation in the @Jinja resolver. When the jinja2 package is installed, Dynaconf evaluates template expressions embedded in configuration values without a sandboxed environment. This issue has been patched in version 3.2.13.
📍 영향받는 시스템
dynaconf < 3.2.13 (jinja2 패키지 설치된 경우)
⚔️ 공격 벡터
구성 파일 또는 환경 변수에 악의적인 Jinja2 템플릿 표현식 주입
🛡️ 대응 방법
dynaconf를 버전 3.2.13 이상으로 업그레이드 (pip install --upgrade dynaconf>=3.2.13)
🔧 검증 코드
명령어가 버전 번호를 출력하면 3.2.13 이상(취약점 패치됨), 출력이 없으면 3.2.13 미만(취약점 존재)
python -c "import dynaconf; print(dynaconf.__version__)" | grep -E '^3\.2\.1[3-9]|^3\.[3-9]|^[4-9]'