
CVE-2026-25243 के लिए विश्वसनीय दूरस्थ कोड निष्पादन शोषण जो jemalloc Redis को लक्षित करता है। DEBUG, /proc, या ROP के बिना एकल निर्मित RESTORE कमांड के माध्यम से मनमानी कमांड निष्पादित करता है। ASLR बाईपास के लिए पूर्ण हीप ग्रूमिंग और arb-read श्रृंखला शामिल है।
jemalloc Redis पर एक विशेष रूप से तैयार RESTORE से विश्वसनीय रिमोट कोड निष्पादन (remote code execution) —
कोई DEBUG कमांड नहीं, कोई /proc नहीं, कोई gdb नहीं, कोई ROP नहीं, ASLR चालू। यह हमलावर का कमांड redis प्रक्रिया के रूप में चलाता है
(डिफ़ॉल्ट इमेज में root)।
🔒 निजी रिपॉज़िटरी — केवल अधिकृत सुरक्षा अनुसंधान / समन्वित प्रकटीकरण हेतु। पुनर्वितरण न करें। यह बग अपस्ट्रीम में ठीक कर दिया गया है (6.2.22 / 7.2.14 / 7.4.9 / 8.2.6 / 8.4.3 / 8.6.3, कमिट
b9dde6fc); यह फिक्स-पूर्व (pre-fix) पथ को लक्षित करता है।
तकनीक एंड-टू-एंड सिद्ध है — संदर्भ हार्नेस पर एक नए रन ने
system("id") → uid=0(root) फायर किया (ASLR चालू, enable-debug-command no), 2026-07-02 को पुष्टि हुई।
इस में, प्रारंभिक चरण कार्यशील पुष्टि किए गए (double-free, overlap,
arb-read → और दोनों सही ढंग से प्राप्त हुए), लेकिन अंतिम लीक —
के माध्यम से — (आवंटन-अनुक्रम-संवेदनशील) है और पैकेज में दिया गया कॉन्स्टेंट
के ग्रूम (बार-बार ) में साफ़ रूप से स्थानांतरित नहीं हुआ। निर्भर करने से पहले
अपने सटीक बिल्ड+अनुक्रम के लिए (WRITEUP.md §7); संदर्भ फायरिंग कोड
डेव हार्नेस / है। बाकी सब कुछ सत्यापित है।
systemOFF_BLOBROBJblob_baseexploit.pyblob_read_shortOFF_BLOBROBJ पुनः-कैलिब्रेट करेंpwn.pypwnd.pyexploit.py — स्व-निहित PoC (केवल stdlib)। शीर्ष पर PROFILE डिक्ट में ऑफसेट सेट करें।WRITEUP.md — पूर्ण तकनीकी विश्लेषण (bug, groom, DEBUG-free arb-read, determinism, finish)।python3 exploit.py --host <target> --port 6379 --cmd 'id' --tries 40
# fires system("<cmd>") as the redis process; verify out-of-band or use a reverse-shell --cmd.
Redis 8.6.2 (8a8f1a3bb), jemalloc-5.3.0, x86-64, glibc bookworm, ASLR=2,
enable-debug-command no पर सत्यापित। किसी भिन्न बिल्ड के लिए, PROFILE ऑफसेट पुनः-कैलिब्रेट करें — देखें
WRITEUP.md §7।
EVAL→clo → arb-read PIE (clo+33) → arb-read system (free@GOT) + blob_base (blob_robj)
→ 16 MB ब्लॉब में नकली dictType{hashFunction=system} रखें → h2->dict->type फोर्ज करें → HGET h2 "<cmd>"
== system("<cmd>")।