
Redis के पाँच CVEs के लिए निदान और सुधार स्क्रिप्ट, जो प्रमाणित RCE कमजोरियों के लिए स्कैनिंग, ACL-आधारित शमन, और कॉन्फ़िगरेशन हार्डनिंग मार्गदर्शन प्रदान करती है।
प्रकाशन तिथि: 2026-05-08 लेखक: TonyCao ([email protected]) स्रोत: Redis Security Advisory
05/05/2026 को, Redis Ltd. ने 5 गंभीर सुरक्षा कमजोरियों के बारे में security advisory जारी की, जो सभी Redis OSS/CE संस्करणों को प्रभावित करती हैं। सफलतापूर्वक शोषण किए जाने पर ये सभी CVE Remote Code Execution (RCE) का कारण बन सकती हैं।
| # | CVE कोड | CVSS | स्तर | त्रुटि प्रकार | शोषण की शर्तें |
|---|---|---|---|---|---|
| 1 | CVE-2026-23479 | 7.7 | HIGH | Use-After-Free | प्रमाणित, blocking command चलाने का अधिकार |
| 2 | CVE-2026-25243 | 7.7 | HIGH | Invalid Memory Access | प्रमाणित, RESTORE चलाने का अधिकार |
| 3 | CVE-2026-25588 | 7.7 | HIGH | Invalid Memory Access | प्रमाणित, RESTORE + RedisTimeSeries module का अधिकार |
| 4 | CVE-2026-25589 | 7.7 | HIGH | Invalid Memory Access | प्रमाणित, RESTORE + RedisBloom module का अधिकार |
| 5 | CVE-2026-23631 | 6.1 | MEDIUM | Use-After-Free | प्रमाणित, replica-read-only = disabled वाला replica |
सामान्य बिंदु: सभी CVE के लिए attacker का Redis instance पर प्रमाणित (authenticated) होना आवश्यक है। CVE-2026-23631 केवल उन replicas को प्रभावित करता है जिनमें
replica-read-only disabledकॉन्फ़िगरेशन है।
| संस्करण श्रृंखला | पैच किया गया संस्करण (न्यूनतम) |
|---|---|
| 6.2.x | 6.2.22 |
| 7.2.x | 7.2.14 |
| 7.4.x | 7.4.9 |
| 8.2.x | 8.2.6 |
| 8.4.x | 8.4.3 |
| 8.6.x | 8.6.3 |
| Module | न्यूनतम संस्करण |
|---|---|
| RedisTimeSeries | 1.12.14 / 1.10.24 / 1.8.23 |
| RedisBloom | 2.8.20 / 2.6.28 / 2.4.23 |
| संस्करण | पैच |
|---|---|
| 8.0.6 | 8.0.10-64 |
| 7.22.2 | 7.22.2-79 |
| 7.8.6 | 7.8.6-253 |
| 7.4.6 | 7.4.6-279 |
| 7.2.4 | 7.2.4-153 |
सभी Redis Cloud deployments को advisory प्रकाशित होने के समय स्वचालित रूप से पैच कर दिया गया है।
| गुण | मान |
|---|---|
| शीर्षक | Unblock Client Flow में Use-After-Free |
| CVSS 4.0 | 7.7 (HIGH) |
| CWE | CWE-416 (Use After Free) |
| वेक्टर | AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| शर्तें | प्रमाणित attacker, blocking commands निष्पादित करने का अधिकार |
| दायरा | सभी Redis OSS/CE, Redis Software <= 8.0.6 |
जब कोई client ब्लॉक हो (blocked) — उदाहरण के लिए BLPOP में प्रतीक्षा कर रहा हो — और ब्लॉक किए गए कमांड को फिर से निष्पादित (re-execute) करते समय evict हो जाता है, तो processCommandAndResetClient फ़ंक्शन त्रुटि लौटा सकता है। वर्तमान कोड इस स्थिति को सही ढंग से संभाल नहीं पाता, जिससे मुक्त किए गए मेमोरी क्षेत्र (use-after-free) का संदर्भ देने वाला पॉइंटर बन जाता है। Attacker UAF का शोषण करके दूरस्थ कोड निष्पादन (RCE) कर सकता है।
unblock client, processCommandAndResetClient से संबंधित फ़ंक्शन शामिल होंredis-server प्रक्रिया द्वारा अज्ञात कमांड निष्पादित करनाBLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BLMPOP, BZPOPMIN, BZPOPMAX, BZMPOP, WAIT, WAITAOF, XREAD, XREADGROUP
#### सुधार विधि (अपग्रेड के बिना)
**विधि 1 — ACL के माध्यम से ब्लॉक करें (अनुशंसित):**```bash
# Chặn toàn bộ nhóm lệnh blocking
redis-cli ACL SETUSER default -@blocking
# Hoặc chặn từng lệnh cụ thể
redis-cli ACL SETUSER default -BLPOP -BRPOP -BRPOPLPUSH -BLMOVE -BLMPOP \
-BZPOPMIN -BZPOPMAX -BZMPOP \
-WAIT -WAITAOF \
-XREAD -XREADGROUP
# Lưu ACL
redis-cli ACL SAVE
विधि 2 — rename-command के माध्यम से अक्षम करना (Redis को पुनः आरंभ करना आवश्यक है):```bash
rename-command BLPOP "" rename-command BRPOP "" rename-command BRPOPLPUSH "" rename-command BLMOVE "" rename-command BLMPOP "" rename-command BZPOPMIN "" rename-command BZPOPMAX "" rename-command BZMPOP "" rename-command WAIT "" rename-command WAITAOF "" rename-command XREAD "" rename-command XREADGROUP ""
**विधि 3 — protected-mode सक्षम करें और कनेक्शन सीमित करें:**```bash
redis-cli CONFIG SET protected-mode yes
# Trong redis.conf:
protected-mode yes
bind 127.0.0.1
| गुण | मान |
|---|---|
| शीर्षक | RESTORE कमांड में अमान्य मेमोरी एक्सेस |
| CVSS 4.0 | 7.7 (HIGH) |
| CWE | CWE-20 (अनुचित इनपुट सत्यापन) + CWE-122 (हीप बफर ओवरफ्लो) |
| वेक्टर | AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| शर्तें | प्रमाणित हमलावर, RESTORE निष्पादित करने का अधिकार |
| दायरा | सभी Redis OSS/CE, Redis Software <= 8.0.6 |
इस भेद्यता में 2 उप-मुद्दे शामिल हैं:
प्रमाणित हमलावर उपरोक्त त्रुटियों का फायदा उठाने के लिए विशेष रूप से तैयार किया गया RESTORE पेलोड भेजता है, जो redis-server प्रक्रिया के संदर्भ में RCE का कारण बन सकता है।
विधि 1 — ACL के माध्यम से RESTORE को ब्लॉक करें (अनुशंसित):```bash
redis-cli ACL SETUSER default -restore
redis-cli ACL SETUSER default -@dangerous