Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-Pending-Django-Summernote-RCE — Proof-of-concept for arbitrary file upload RCE in django-summernote when Pillow is missing. Exploits CWE-434 to upload a web shell. | Kitploit
Tools/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

Proof-of-concept for arbitrary file upload RCE in django-summernote when Pillow is missing. Exploits CWE-434 to upload a web shell.

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
View Repository
7 months agoNot yet reviewed
Share

CVE-2026-XXXXX (Pending): django-summernote Arbitrary File Upload (RCE)

This repository contains a Proof of Concept (PoC) for a Conditional Remote Code Execution (RCE) vulnerability discovered in django-summernote version 0.8.20.0 (and earlier).

Vulnerability Details

  • Product: django-summernote
  • Version: <= 0.8.20.0
  • Type: Unrestricted File Upload (CWE-434)
  • Severity: HIGH (CVSS 7.2)
  • Impact: Remote Code Execution (RCE)

Description

The vulnerability exists in the lack of strict dependency enforcement in setup.py and the fallback logic in forms.py.

The django-summernote package treats the Pillow library (required for strict image validation) as an optional dependency. If is not installed on the server, the gracefully downgrades the file input field from to the generic .

Pillow
UploadForm
forms.ImageField
forms.FileField

Vulnerable Code (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)

This behavior allows an attacker to upload arbitrary files (e.g., .php, .py, .sh, .html) instead of images, leading to Remote Code Execution (RCE) or XSS, as the views.py relies solely on form validation.

Reproduction Steps

  1. Install django-summernote without Pillow:

    root@kitploit:~
    pip install django-summernote
    pip uninstall Pillow  # Ensure Pillow is gone
    
  2. Run the PoC:

    root@kitploit:~
    python3 poc.py
    
  3. Expected Output:

    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
    

Mitigation

Users should ensure Pillow is installed in their environment to enforce image validation:

root@kitploit:~
pip install Pillow

Maintainers should move Pillow to install_requires in setup.py or enforce ImageField usage hard dependency.

Download Tool