🔍 CVE-2026-115720

5.0
CVSS Score
MEDIUM
2026-10-26
2026-10-26 20:17
✅ 완료

🇰🇷 한글 설명

Frappe Builder 1.36.1 이전 버전의 builder/api.py에는 서버 측 요청 위조(SSRF) 취약점이 있습니다. assert_not_private_url() 검증이 초기 호스트명만 확인하고 리다이렉트 대상은 검증하지 않아, 인증된 공격자가 convert_to_webp 엔드포인트를 통해 내부 주소나 클라우드 메타데이터 서비스로 요청을 보낼 수 있습니다. 또한 타임아웃이 없어 요청 지연에 따른 서비스 거부도 발생할 수 있습니다.

💡 쉬운 설명

공격자가 외부 주소처럼 보이는 링크를 보내 서버가 내부 시스템에 접근하도록 속일 수 있습니다. 이를 통해 내부 정보가 노출되거나 서버가 응답 지연 상태에 빠질 수 있습니다.

🇺🇸 원문 (English)

Frappe Builder before 1.36.1 contains a server-side request forgery vulnerability in builder/api.py where the assert_not_private_url() guard validates only the initial hostname before callers invoke requests.get(url) with default redirect-following and no IP pinning, allowing an attacker-supplied public URL to HTTP-redirect to internal or link-local addresses the guard never validated. An authenticated attacker can call the convert_to_webp endpoint, which lacks a permission decorator, with a URL that redirects to internal targets such as cloud metadata services to perform SSRF, internal port scanning, or trigger a request-hang denial of service due to the missing timeout.

📍 영향받는 시스템

Frappe Builder 1.36.1 미만 버전

⚔️ 공격 벡터

인증된 사용자가 convert_to_webp API에 리다이렉트를 이용하는 공개 URL을 전달해 내부망이나 클라우드 메타데이터 주소에 접근

🛡️ 대응 방법

Frappe Builder를 1.36.1 이상으로 업데이트하고, 리다이렉트 대상 IP까지 검증하며 요청 타임아웃을 설정

🔧 검증 코드

출력된 버전이 1.36.1 미만이면 취약하고, 1.36.1 이상이면 패치된 상태입니다.

Shell / Script
pip show frappe-builder 2>/dev/null | grep -i version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Cloud Services