🔍 CVE-2025-66436

4.3
CVSS Score
MEDIUM
2025-12-15
2026-10-14 13:10
✅ 완료

🇰🇷 한글 설명

Frappe ERPNext 15.89.0 이하 버전의 get_terms_and_conditions 메서드에서 SSTI(서버 측 템플릿 주입) 취약점이 발견되었습니다. 공격자가 제어 가능한 Jinja2 템플릿이 frappe.render_template()를 통해 렌더링될 때, 샌드박스 환경 내에 노출된 frappe.db.sql과 같은 위험한 전역 변수를 악용할 수 있습니다. 이를 통해 인증된 공격자는 데이터베이스 정보를 유출하거나 제한된 환경 내에서 임의의 코드를 실행할 수 있습니다.

💡 쉬운 설명

서비스 이용 약관을 작성하는 칸에 특수한 코드를 입력하여 서버의 정보를 몰래 빼낼 수 있는 보안 약점입니다. 약관을 수정할 권한이 있는 사용자가 시스템 내부 데이터베이스에 접근할 위험이 있습니다.

🇺🇸 원문 (English)

An SSTI (Server-Side Template Injection) vulnerability exists in the get_terms_and_conditions method of Frappe ERPNext through 15.89.0. The function renders attacker-controlled Jinja2 templates (terms) using frappe.render_template() with a user-supplied context (doc). Although Frappe uses a custom SandboxedEnvironment, several dangerous globals such as frappe.db.sql are still available in the execution context via get_safe_globals(). An authenticated attacker with access to create or modify a Terms and Conditions document can inject arbitrary Jinja expressions into the terms field, resulting in server-side code execution within a restricted but still unsafe context. This vulnerability can be used to leak database information.

📍 영향받는 시스템

Frappe ERPNext 15.89.0 및 그 이전 버전

⚔️ 공격 벡터

인증된 공격자가 이용 약관(Terms and Conditions) 문서의 내용을 Jinja2 템플릿 코드로 조작하여 주입

🛡️ 대응 방법

Frappe ERPNext를 최신 보안 패치가 적용된 버전으로 업데이트하고, 약관 수정 권한을 엄격히 제한하십시오.

🔧 검증 코드

출력된 버전이 15.89.0 이하인지 확인하여 취약 여부를 판단합니다.

Shell / Script
pip show frappe-erpnext 2>/dev/null | grep -E 'Version'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Spring Data REST