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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-Pending-Django-Summernote-RCE | Kitploit
도구/GitHubGitHub/nicetop1027/cve-2026-pending-django-summernote-rce
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubnicetop1027/cve-2026-pending-django-summernote-rce

CVE-2026-Pending-Django-Summernote-RCE

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
7개월 전아직 검토되지 않음

CVE-2026-XXXXX (Pending): django-summernote 임의 파일 업로드 (RCE)

이 저장소는 django-summernote 버전 0.8.20.0(및 이전 버전)에서 발견된 조건부 원격 코드 실행(RCE) 취약점에 대한 개념 증명(PoC)을 포함합니다.

취약점 상세 정보

  • 제품: django-summernote
  • 버전: <= 0.8.20.0
  • 유형: 무제한 파일 업로드 (CWE-434)
  • 심각도: 높음 (CVSS 7.2)
  • 영향: 원격 코드 실행 (RCE)

설명

이 취약점은 setup.py의 엄격한 의존성 강제 부재와 forms.py의 대체(fallback) 로직에서 발생합니다.

django-summernote 패키지는 (엄격한 이미지 검증에 필요한) Pillow 라이브러리를 선택적 의존성으로 취급합니다. 서버에 Pillow가 설치되어 있지 않으면 UploadForm은 파일 입력 필드를 forms.ImageField에서 일반적인 forms.FileField로 자동 대체합니다.

취약한 코드 (forms.py):

root@kitploit:~
try:
    from PIL import Image
    FIELD = forms.ImageField  # Validates image content
except ImportError:
    FIELD = forms.FileField   # Accepts ANY file type (Dangerous)

이러한 동작으로 인해 공격자는 이미지 대신 임의의 파일(예: .php, .py, .sh, .html)을 업로드할 수 있으며, views.py가 전적으로 폼 검증에 의존하므로 원격 코드 실행(RCE) 또는 XSS로 이어질 수 있습니다.

재현 단계

  1. django-summernote를 Pillow 없이 설치합니다:

    root@kitploit:~
    pip install django-summernote
    pip uninstall Pillow  # Ensure Pillow is gone
    
  2. PoC를 실행합니다:

    root@kitploit:~
    python3 poc.py
    
  3. 예상 출력:

    root@kitploit:~
    [+] Verified: Pillow is NOT installed. Vulnerable logic active.
    [*] Attempting to upload a Web Shell (.php)...
    
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [!!!] VULNERABILITY SUCCESS: SHELL UPLOADED [!!!]
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [+] Form Validation Passed for: exploit.php
    

완화 조치

사용자는 이미지 검증을 강제하기 위해 자신의 환경에 Pillow가 설치되어 있는지 확인해야 합니다:

root@kitploit:~
pip install Pillow

유지보수자는 setup.py의 install_requires에 Pillow를 추가하거나 ImageField 사용을 하드 의존성으로 강제해야 합니다.

도구 다운로드