🔍 CVE-2025-66435

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

🇰🇷 한글 설명

Frappe ERPNext 15.89.0 이하 버전의 get_contract_template 메서드에서 SSTI(서버 측 템플릿 주입) 취약점이 발견되었습니다. 공격자가 계약 조건(contract_terms) 필드에 악의적인 Jinja2 템플릿을 삽입하면, 샌드박스 환경 내의 위험한 전역 변수를 이용해 데이터베이스 정보를 유출하거나 코드를 실행할 수 있습니다.

💡 쉬운 설명

계약서 양식을 만드는 기능에 악성 코드를 몰래 끼워 넣을 수 있는 보안 약점이 있습니다. 이를 통해 해커가 시스템 내부의 중요한 데이터베이스 정보를 훔쳐갈 수 있습니다.

🇺🇸 원문 (English)

An SSTI (Server-Side Template Injection) vulnerability exists in the get_contract_template method of Frappe ERPNext through 15.89.0. The function renders attacker-controlled Jinja2 templates (contract_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 Contract Template can inject arbitrary Jinja expressions into the contract_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 및 그 이전 버전

⚔️ 공격 벡터

인증된 공격자가 계약 템플릿의 contract_terms 필드에 악의적인 Jinja2 표현식을 주입

🛡️ 대응 방법

Frappe ERPNext를 최신 보안 패치가 적용된 버전으로 업데이트하고, 템플릿 편집 권한을 엄격히 제한하십시오.

🔧 검증 코드

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

Shell / Script
pip show frappe | grep 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