Flask-Reuploaded vulnerable to Remote Code Execution via Server-Side Template Injection
RCE
위협 신호 · CVSS · EPSS · KEV
시급 검토· 이론 심각도 Critical
CVSS
9.8critical
이론적 심각도 점수
EPSS
1.0%상위 39.4%
30일 내 악용 확률 예측
KEV
미등재실측 악용 기록 없음
권장 대응 기한3일 이내CISA SSVC 기준
즉시(3일 이내) 패치 — 최우선 대응
자동화 가능완전 장악외부 노출· KEV 미등재 · 자동화 가능 · 완전 장악 · 외부 노출
CVSS 벡터 · 메트릭
악용 경로
공격 벡터네트워크
공격 복잡도낮음
필요 권한불필요
사용자 상호작용불필요
범위불변
영향
기밀성 영향높음
무결성 영향높음
가용성 영향높음
버전별 점수
CVSS 3.19.8CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H상세 설명
Impact
A critical path traversal and extension bypass vulnerability in Flask-Reuploaded allows remote attackers to achieve arbitrary file write and remote code execution through Server-Side Template Injection (SSTI).
Patches
Flask-Reuploaded has been patched in version 1.5.0
Workarounds
- Do not pass user input to the
nameparameter - Use auto-generated filenames only
- Implement strict input validation if
namemust be used
python
1from werkzeug.utils import secure_filename 2import os 3 4# Sanitize user input before passing to save() 5safe_name = secure_filename(request.form.get('custom_name')) 6# Remove path separators 7safe_name = os.path.basename(safe_name) 8# Validate extension matches policy 9if not photos.extension_allowed(photos.get_extension(safe_name)):10 abort(400)11 12filename = photos.save(file, name=safe_name)Resources
The fix is documented in the pull request, see https://github.com/jugmac00/flask-reuploaded/pull/180.
A proper write-up was created by the reporter of the vulnerability, Jaron Cabral (https://www.linkedin.com/in/jaron-cabral-751994357/), but is not yet available as of time of this publication.
AI 심층 분석
공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.
참고 자료 5
링크 내용 불러오는 중…