Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-33154 — CVE-2026-33154에 대한 개념 증명 익스플로잇으로, Dynaconf의 Jinja 리졸버에서 SSTI를 통한 원격 코드 실행을 시연하며, 분석 및 완화 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/redyank/cve-2026-33154
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationLearning & Education
GitHubredyank/cve-2026-33154

CVE-2026-33154

CVE-2026-33154에 대한 개념 증명 익스플로잇으로, Dynaconf의 Jinja 리졸버에서 SSTI를 통한 원격 코드 실행을 시연하며, 분석 및 완화 지침을 포함합니다.

저장소 보기
14개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Dynaconf SSTI 취약점 보고서

요약

Dynaconf는 __@Jinja__ 리졸버의 안전하지 않은 템플릿 평가로 인해 서버 측 템플릿 인젝션(SSTI) 에 취약합니다. jinja2 패키지가 설치된 경우, Dynaconf는 구성 값에 포함된 템플릿 표현식을 샌드박스 환경 없이 평가합니다.

공격자가 다음과 같은 구성 소스에 영향을 줄 수 있다면:

  • 환경 변수
  • .env 파일
  • 컨테이너 환경 구성
  • CI/CD 비밀 값

...호스트 시스템에서 임의 OS 명령을 실행할 수 있습니다. 또한 __@Format__ 리졸버는 객체 그래프 탐색을 허용하여 민감한 런타임 객체와 환경 변수를 노출할 수 있습니다.


세부 사항

이 취약점은 Dynaconf의 문자열 리졸버에 적절한 보안 경계가 없기 때문에 발생합니다.

1. __@Jinja__ 리졸버

__@Jinja__ 리졸버는 전체 Jinja2 평가를 사용하여 템플릿을 렌더링합니다. 그러나 렌더링 컨텍스트는 공격자가 Python의 내부 속성에 접근할 수 있습니다. 와 같은 객체를 사용하여 공격자는 Python의 전역 객체에 도달하고 모듈을 가져올 수 있습니다.

샌드박스 처리되지 않아
cycler
os

공격 경로 예시:

root@kitploit:~
cycler → __init__ → __globals__ → os → popen()

이는 임의 명령 실행으로 이어집니다.


2. __@Format__ 리졸버

__@Format__ 리졸버는 내부 객체를 사용하여 Python 문자열 포맷팅을 수행합니다. 이를 통해 공격자는 Python의 객체 그래프를 탐색하고 민감한 런타임 객체에 접근할 수 있습니다.

탐색 예시:

root@kitploit:~
{this.__class__.__init__.__globals__[os].environ}

이를 통해 다음이 노출될 수 있습니다:

  • API 키
  • 데이터베이스 자격 증명
  • 내부 서비스 토큰
  • 환경 비밀 값

개념 증명(PoC)

root@kitploit:~
import os
from dynaconf import Dynaconf

# 악성 구성 인젝션
os.environ["DYNACONF_RCE"] = "@jinja {{ cycler.__init__.__globals__.os.popen('id').read() }}"

settings = Dynaconf()

print("[!] 명령 실행 결과:")
print(settings.RCE)

영향

성공적인 악용 시 공격자는 다음을 수행할 수 있습니다:

  • 호스트 시스템에서 임의 OS 명령 실행
  • 민감한 환경 변수 접근
  • 애플리케이션 비밀 값 손상
  • 실행 중인 애플리케이션 프로세스 완전 장악

구성 값은 CI/CD 파이프라인, 컨테이너 오케스트레이션 시스템 또는 환경 인젝션에서 비롯될 수 있으므로, 이 취약점은 실제 배포 환경에서 원격으로 악용 가능할 수 있습니다.


해결 방안 / 완화 조치

1. 템플릿 렌더링에 Jinja2 샌드박스 사용

root@kitploit:~
from jinja2.sandbox import SandboxedEnvironment

env = SandboxedEnvironment()
template = env.from_string("{{ config_value }}")
safe_value = template.render(config_value=user_input)

2. __@Format__ 사용을 신뢰할 수 있는 값으로 제한

root@kitploit:~
safe_value = "{name}".format(name=trusted_name)

참고 자료

  • GHSA-pxrr-hq57-q35p
  • CVE-2026-33154 — NVD
  • dynaconf/dynaconf@2fbb45e
  • Dynaconf 릴리스 3.2.13
도구 다운로드