Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-25589-25588-25243-23631-23479-REDIS — Redis के पाँच CVEs के लिए निदान और सुधार स्क्रिप्ट, जो प्रमाणित RCE कमजोरियों के लिए स्कैनिंग, ACL-आधारित शमन, और कॉन्फ़िगरेशन हार्डनिंग मार्गदर्शन प्रदान करती है। | Kitploit
उपकरण/GitHubGitHub/mgiay/cve-2026-25589-25588-25243-23631-23479-redis
भेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगलर्निंग और शिक्षाचयनित संसाधनडेटाबेस सुरक्षा
GitHubmgiay/cve-2026-25589-25588-25243-23631-23479-redis

CVE-2026-25589-25588-25243-23631-23479-REDIS

Redis के पाँच CVEs के लिए निदान और सुधार स्क्रिप्ट, जो प्रमाणित RCE कमजोरियों के लिए स्कैनिंग, ACL-आधारित शमन, और कॉन्फ़िगरेशन हार्डनिंग मार्गदर्शन प्रदान करती है।

रिपॉजिटरी देखें
3 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

5 Redis CVE की जाँच और सुधार हेतु मार्गदर्शिका (अद्यतन: 2026.05.08)

प्रकाशन तिथि: 2026-05-08 लेखक: TonyCao ([email protected]) स्रोत: Redis Security Advisory


विषय-सूची

  1. अवलोकन
  2. प्रभावित संस्करण
  3. प्रत्येक CVE का विवरण
    • CVE-2026-23479 — Unblock Client Flow में Use-after-free
    • CVE-2026-25243 — RESTORE में Invalid Memory Access
    • CVE-2026-25588 — RedisTimeSeries Module के साथ RESTORE
    • CVE-2026-25589 — RedisBloom Module के साथ RESTORE
    • CVE-2026-23631 — Master-Replica Sync के माध्यम से Lua Use-After-Free
  4. स्क्रिप्ट उपयोग हेतु मार्गदर्शिका
  5. सामान्य सुधार विधियाँ
  • जोखिम मूल्यांकन — आंतरिक Redis / Sentinel सिस्टम
  • ACL संदर्भ
  • आवधिक जाँच प्रक्रिया
  • सामान्य प्रश्न (FAQ)

  • अवलोकन

    05/05/2026 को, Redis Ltd. ने 5 गंभीर सुरक्षा कमजोरियों के बारे में security advisory जारी की, जो सभी Redis OSS/CE संस्करणों को प्रभावित करती हैं। सफलतापूर्वक शोषण किए जाने पर ये सभी CVE Remote Code Execution (RCE) का कारण बन सकती हैं।

    #CVE कोडCVSSस्तरत्रुटि प्रकारशोषण की शर्तें
    1CVE-2026-234797.7HIGHUse-After-Freeप्रमाणित, blocking command चलाने का अधिकार
    2CVE-2026-252437.7HIGHInvalid Memory Accessप्रमाणित, RESTORE चलाने का अधिकार
    3CVE-2026-255887.7HIGHInvalid Memory Accessप्रमाणित, RESTORE + RedisTimeSeries module का अधिकार
    4CVE-2026-255897.7HIGHInvalid Memory Accessप्रमाणित, RESTORE + RedisBloom module का अधिकार
    5CVE-2026-236316.1MEDIUMUse-After-Freeप्रमाणित, replica-read-only = disabled वाला replica

    सामान्य बिंदु: सभी CVE के लिए attacker का Redis instance पर प्रमाणित (authenticated) होना आवश्यक है। CVE-2026-23631 केवल उन replicas को प्रभावित करता है जिनमें replica-read-only disabled कॉन्फ़िगरेशन है।


    प्रभावित संस्करण

    Redis OSS/CE — पैच से पहले के सभी संस्करण

    संस्करण श्रृंखलापैच किया गया संस्करण (न्यूनतम)
    6.2.x6.2.22
    7.2.x7.2.14
    7.4.x7.4.9
    8.2.x8.2.6
    8.4.x8.4.3
    8.6.x8.6.3

    Module — पैच किए गए संस्करण

    Moduleन्यूनतम संस्करण
    RedisTimeSeries1.12.14 / 1.10.24 / 1.8.23
    RedisBloom2.8.20 / 2.6.28 / 2.4.23

    Redis Software (Enterprise)

    संस्करणपैच
    8.0.68.0.10-64
    7.22.27.22.2-79
    7.8.67.8.6-253
    7.4.67.4.6-279
    7.2.47.2.4-153

    Redis Cloud

    सभी Redis Cloud deployments को advisory प्रकाशित होने के समय स्वचालित रूप से पैच कर दिया गया है।


    प्रत्येक CVE का विवरण

    CVE-2026-23479

    गुणमान
    शीर्षकUnblock Client Flow में Use-After-Free
    CVSS 4.07.7 (HIGH)
    CWECWE-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) कर सकता है।

    पहचान के संकेत

    • Redis server का crash, जिसमें stack trace में unblock client, processCommandAndResetClient से संबंधित फ़ंक्शन शामिल हों
    • redis-server प्रक्रिया द्वारा अज्ञात कमांड निष्पादित करना
    • Redis instance से अनधिकृत नेटवर्क कनेक्शन

    प्रभावित blocking कमांड```

    BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BLMPOP, BZPOPMIN, BZPOPMAX, BZMPOP, WAIT, WAITAOF, XREAD, XREADGROUP

    root@kitploit:~
    #### सुधार विधि (अपग्रेड के बिना)
    
    **विधि 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

    Thêm vào redis.conf:

    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 ""

    root@kitploit:~
    **विधि 3 — protected-mode सक्षम करें और कनेक्शन सीमित करें:**```bash
    redis-cli CONFIG SET protected-mode yes
    # Trong redis.conf:
    protected-mode yes
    bind 127.0.0.1
    

    CVE-2026-25243

    गुणमान
    शीर्षकRESTORE कमांड में अमान्य मेमोरी एक्सेस
    CVSS 4.07.7 (HIGH)
    CWECWE-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 उप-मुद्दे शामिल हैं:

    1. डबल-फ्री Redis कोर में (एमिल लर्नर द्वारा खोजा गया) — RESTORE विशेष रूप से तैयार किए गए सीरियलाइज़्ड पेलोड को संसाधित करता है, जिससे एक ही पॉइंटर पर मेमोरी दो बार मुक्त होती है।
    2. इंटीजर ओवरफ्लो और आउट-ऑफ-बाउंड्स रीड VectorSets में (जोसेफ सुरिन द्वारा खोजा गया) — विशेष रूप से डिज़ाइन किया गया पेलोड इंटीजर ओवरफ्लो का कारण बनता है, जिससे आवंटित मेमोरी क्षेत्र के बाहर पढ़ना/लिखना होता है।

    प्रमाणित हमलावर उपरोक्त त्रुटियों का फायदा उठाने के लिए विशेष रूप से तैयार किया गया RESTORE पेलोड भेजता है, जो redis-server प्रक्रिया के संदर्भ में RCE का कारण बन सकता है।

    पहचान के संकेत

    • Redis सर्वर का असामान्य क्रैश
    • सिस्टम फ़ाइलों में परिवर्तन (विशेष रूप से Redis के RDB/AOF/कॉन्फ़िग फ़ाइलों वाले निर्देशिका में)
    • Redis इंस्टेंस से/तक अनधिकृत नेटवर्क कनेक्शन
    • Redis कॉन्फ़िगरेशन फ़ाइल में परिवर्तन

    सुधार विधि (अपग्रेड किए बिना)

    विधि 1 — ACL के माध्यम से RESTORE को ब्लॉक करें (अनुशंसित):```bash

    Chặn lệnh RESTORE

    redis-cli ACL SETUSER default -restore

    Hoặc chặn toàn bộ nhóm lệnh nguy hiểm

    redis-cli ACL SETUSER default -@dangerous

    redis-cli ACL SAVE

    root@kitploit:~
    **विधि 2 — RESTORE को अक्षम करना (Redis को पुनः आरंभ करना आवश्यक है):**```bash
    # Thêm vào redis.conf:
    rename-command RESTORE ""
    

    विधि 3 — ऐप के लिए अलग ACL उपयोगकर्ता बनाना:```bash

    Tao user cho ung dung chi voi quyen doc/ghi co ban

    redis-cli ACL SETUSER app_user on >StrongPass123 ~*
    +@read +@write
    -@dangerous
    -@admin
    -@scripting
    -@blocking
    -restore
    -debug

    redis-cli ACL SAVE

    root@kitploit:~
    ---
    
    ### CVE-2026-25588
    
    | गुण    | मान                                                            |
    | ------------- | ------------------------------------------------------------------ |
    | **शीर्षक**   | RedisTimeSeries मॉड्यूल के साथ 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 अनुमति + **RedisTimeSeries मॉड्यूल लोड है** |
    | **दायरा**   | Redis OSS/CE + RedisTimeSeries मॉड्यूल                              |
    
    #### तकनीकी विवरण
    
    जब `RESTORE` कमांड का उपयोग उस इंस्टेंस पर किया जाता है जिसमें **RedisTimeSeries मॉड्यूल** लोड है, तो विशेष रूप से डिज़ाइन किया गया सीरियलाइज़्ड पेलोड टाइम-सीरीज़ डेटा प्रोसेसिंग के दौरान अमान्य मेमोरी एक्सेस को ट्रिगर कर सकता है। यह कमजोरी RedisTimeSeries मॉड्यूल द्वारा RESTORE पेलोड से डेटा को डीसीरियलाइज़ करने के तरीके में निहित है।
    
    #### पहचान के संकेत
    
    - RedisTimeSeries मॉड्यूल से संबंधित स्टैक ट्रेस के साथ Redis क्रैश
    - RedisTimeSeries मॉड्यूल लोड है (`MODULE LIST` टाइमसीरीज़ दिखाता है)
    - redis-server द्वारा अवांछित कमांड निष्पादन
    
    #### उपचार विधि (अपग्रेड के बिना)
    
    **विधि 1 — ACL के माध्यम से RESTORE को ब्लॉक करें:** (CVE-2026-25243 के समान)```bash
    redis-cli ACL SETUSER default -restore
    redis-cli ACL SAVE
    

    विधि 2 — RedisTimeSeries मॉड्यूल हटाना (यदि आवश्यक न हो):```bash redis-cli MODULE UNLOAD timeseries

    root@kitploit:~
    फिर `redis.conf` से निम्न पंक्ति हटाएँ:```
    loadmodule /path/to/redistimeseries.so
    

    विधि 3 — केवल मॉड्यूल अपग्रेड करें (Redis अपग्रेड नहीं):

    पैच किए गए मॉड्यूल संस्करण डाउनलोड करें:

    • RedisTimeSeries 1.12.14 (1.12 श्रृंखला के लिए)
    • RedisTimeSeries 1.10.24 (1.10 श्रृंखला के लिए)
    • RedisTimeSeries 1.8.23 (1.8 श्रृंखला के लिए)```bash

    Thay the file .so cu bang phien ban moi

    Sau do restart Redis hoac:

    redis-cli MODULE UNLOAD timeseries redis-cli MODULE LOAD /path/to/new/redistimeseries.so

    root@kitploit:~
    ### CVE-2026-25589
    
    | गुण    | मान                                                                       |
    | ------------- | ----------------------------------------------------------------------------- |
    | **शीर्षक**   | RedisBloom मॉड्यूल के साथ RESTORE में अमान्य मेमोरी एक्सेस                     |
    | **CVSS 4.0**  | **7.7 (HIGH)**                                                                |
    | **CWE**       | CWE-20 + CWE-122 + CWE-787 (Out-of-Bounds Write) + CWE-190 (Integer Overflow) |
    | **वेक्टर**    | `AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`                      |
    | **शर्तें** | प्रमाणित + RESTORE अनुमति + **RedisBloom मॉड्यूल लोड किया गया**                 |
    | **दायरा**   | Redis OSS/CE + RedisBloom मॉड्यूल                                              |
    
    #### तकनीकी विवरण
    
    यह भेद्यता RedisBloom मॉड्यूल में RESTORE पेलोड को संसाधित करते समय कई उप-मुद्दों को शामिल करती है:
    
    1. **Out-Of-Bounds read/write** (Daniel Firer) — आवंटित मेमोरी की सीमा से बाहर पढ़ना/लिखना
    2. **Integer overflow, heap buffer overflow, और OOB read/write** (Joseph Surin) — पूर्णांक अतिप्रवाह जिससे हीप बफर अतिप्रवाह होता है
    
    जब RedisBloom मॉड्यूल लोड किया जाता है, तो हमलावर Bloom filter, Cuckoo filter, Count-Min Sketch, या Top-K डेटा को deserialize करने की प्रक्रिया के दौरान उपरोक्त त्रुटियों का शोषण करने के लिए विशेष रूप से डिज़ाइन किया गया RESTORE पेलोड भेज सकता है।
    
    #### पहचान के संकेत
    
    - RedisBloom मॉड्यूल से संबंधित स्टैक ट्रेस के साथ Redis क्रैश
    - RedisBloom मॉड्यूल लोड किया जा रहा है (`MODULE LIST` bf/bloom दिखाता है)
    - Bloom filter में डेटा क्षतिग्रस्त या असामान्य रूप से बदला हुआ
    
    #### उपचार विधि (अपग्रेड के बिना)
    
    **विधि 1 — ACL के माध्यम से RESTORE को ब्लॉक करें:** (CVE-2026-25243 के समान)```bash
    redis-cli ACL SETUSER default -restore
    redis-cli ACL SAVE
    

    विधि 2 — RedisBloom मॉड्यूल हटाना (यदि आवश्यक न हो):```bash redis-cli MODULE UNLOAD bf

    root@kitploit:~
    फिर `redis.conf` से निम्न पंक्ति हटाएँ:```
    loadmodule /path/to/redisbloom.so
    

    विधि 3 — केवल मॉड्यूल अपग्रेड करें (Redis अपग्रेड नहीं):

    पैच किए गए मॉड्यूल संस्करण डाउनलोड करें:

    • RedisBloom 2.8.20 (2.8 श्रृंखला के लिए)
    • RedisBloom 2.6.28 (2.6 श्रृंखला के लिए)
    • RedisBloom 2.4.23 (2.4 श्रृंखला के लिए)```bash redis-cli MODULE UNLOAD bf redis-cli MODULE LOAD /path/to/new/redisbloom.so
    root@kitploit:~
    ---
    
    ### CVE-2026-23631
    
    | गुण    | मान                                                          |
    | ------------- | ---------------------------------------------------------------- |
    | **शीर्षक**   | Lua Use-After-Free मास्टर-रिप्लिका सिंक्रोनाइज़ेशन के माध्यम से            |
    | **CVSS 4.0**  | **6.1 (MEDIUM)**                                                 |
    | **CWE**       | CWE-416 (Use After Free)                                         |
    | **वेक्टर**    | `AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N`         |
    | **शर्तें** | प्रमाणित + **रिप्लिका** जिसमें `replica-read-only` = **disabled** |
    | **दायरा**   | Lua स्क्रिप्टिंग वाले सभी Redis OSS/CE, केवल रिप्लिका पर          |
    | **कोड नाम**    | "DarkReplica" (योनी शिराज़, Wiz Zeroday Cloud)                   |
    
    #### तकनीकी विवरण
    
    प्रमाणित हमलावर मास्टर-रिप्लिका सिंक्रोनाइज़ेशन तंत्र का फायदा उठाकर विशेष Lua स्क्रिप्ट भेज सकता है, जो रिप्लिका पर Lua इंजन में use-after-free को ट्रिगर करती है।
    
    **महत्वपूर्ण शर्त:** यह बग **केवल रिप्लिका को प्रभावित करता है** जो `replica-read-only disabled` (यानी रिप्लिका लिख सकता है) के साथ कॉन्फ़िगर किया गया है। यह डिफ़ॉल्ट कॉन्फ़िगरेशन **नहीं** है — डिफ़ॉल्ट `replica-read-only` = `yes` है।
    
    यदि रिप्लिका read-only मोड (डिफ़ॉल्ट) में कॉन्फ़िगर किया गया है, तो इंस्टेंस **प्रभावित नहीं होता**।
    
    #### पहचान के संकेत
    
    - Lua इंजन से स्टैक ट्रेस के साथ रिप्लिका पर Redis क्रैश
    - रिप्लिका पर `replica-read-only` = `no` कॉन्फ़िगरेशन
    - रिप्लिका पर अज्ञात कमांड का निष्पादन
    - रिप्लिका तक अनधिकृत नेटवर्क कनेक्शन
    
    #### उपचार विधि (अपग्रेड के बिना)
    
    **विधि 1 — replica-read-only सक्षम करें (अनुशंसित, यह डिफ़ॉल्ट है):**```bash
    # Runtime
    redis-cli CONFIG SET replica-read-only yes
    
    # Trong redis.conf:
    replica-read-only yes
    

    विधि 2 — ACL के माध्यम से Lua scripting को ब्लॉक करें:```bash redis-cli ACL SETUSER default -@scripting redis-cli ACL SETUSER default -eval -evalsha -script -function -fcall -fcall_ro redis-cli ACL SAVE

    root@kitploit:~
    **विधि 3 — Lua कमांड अक्षम करें (Redis को पुनः आरंभ करना आवश्यक है):**```bash
    # Thêm vào redis.conf:
    rename-command EVAL ""
    rename-command EVALSHA ""
    rename-command SCRIPT ""
    rename-command FUNCTION ""
    rename-command FCALL ""
    rename-command FCALL_RO ""
    

    स्क्रिप्ट उपयोग निर्देश

    कार्य सिद्धांत

    • कोई पैरामीटर नहीं → उपयोग निर्देश (सहायता) प्रदर्शित करता है
    • --scan → निदान, सभी CVE की जाँच करता है
    • --fix-... → विशिष्ट CVE के लिए सुधार उपाय लागू करता है``` $ ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh → hiển thị banner + HELP + thoát
    root@kitploit:~
    ### सिस्टम आवश्यकताएँ
    
    - **ऑपरेटिंग सिस्टम:** Linux (Ubuntu, Debian, CentOS, RHEL, ...)
    - **टूल:** `redis-cli` (आमतौर पर `redis-tools` या `redis` पैकेज में शामिल होता है)
    - **अनुमतियाँ:** `redis.conf` फ़ाइल को पढ़ने/लिखने की अनुमति (फिक्स करने के लिए)
    - **कनेक्शन:** जाँच के लिए Redis instance तक नेटवर्क पहुँच
    
    ### redis-cli इंस्टॉल करना (यदि पहले से नहीं है)```bash
    # Ubuntu/Debian
    sudo apt update && sudo apt install -y redis-tools
    
    # CentOS/RHEL 7
    sudo yum install -y redis
    
    # CentOS/RHEL 8+/Fedora
    sudo dnf install -y redis
    
    # Hoặc từ source
    wget https://download.redis.io/releases/redis-stable.tar.gz
    tar xzf redis-stable.tar.gz
    cd redis-stable && make redis-cli
    sudo cp src/redis-cli /usr/local/bin/
    

    उपयोग कैसे करें

    1. सहायता देखें```bash

    Cấp quyền thực thi

    chmod +x CVE-2026-25589-25588-25243-23631-23479-REDIS.sh

    Chạy không tham số → hiển thị help

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh

    Hoặc tường minh

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --help

    root@kitploit:~
    #### 2. संपूर्ण CVE स्कैन (निदान)```bash
    # Local Redis
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan
    
    # Redis từ xa
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -H 192.168.1.100 -p 6379 -a "your_password"
    
    # Với ACL user
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -H 10.0.0.50 -p 6380 -u admin -a "admin_password"
    
    # Qua Unix socket
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -s /var/run/redis/redis-server.sock
    
    # Kèm xuất báo cáo
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -o redis_cve_report_$(date +%Y%m%d).txt
    

    3. प्रत्येक CVE का अलग-अलग समाधान```bash

    Fix tung CVE cu the

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-23479 ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-25243 -H 10.0.0.1 -a mypassword ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-25588 ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-25589 ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-23631 -c /etc/redis/redis.conf

    root@kitploit:~
    #### 4. समूह के अनुसार त्वरित सुधार (अनुशंसित)```bash
    # Chan RESTORE → bao ve 3/5 CVE (25243 + 25588 + 25589)
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-restore
    
    # Chan blocking commands → bao ve CVE-2026-23479
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-blocking
    
    # Chan Lua + bat replica-read-only → bao ve CVE-2026-23631
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-lua
    

    5. पूर्ण सुधार```bash

    Fix tat ca CVE (co backup config)

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all

    Fix all voi file config rieng

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all
    -c /etc/redis/redis.conf

    Fix all khong backup (khong khuyen nghi)

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all --no-backup

    Fix all Redis tu xa

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all
    -H 10.0.0.1 -p 6379 -a mypassword

    root@kitploit:~
    ### पूर्ण पैरामीटर तालिका
    
    #### क्रिया पैरामीटर (ACTION) — अनिवार्य
    
    | पैरामीटर           | कार्य                                    | संरक्षित CVE की संख्या            |
    | ----------------- | -------------------------------------------- | ----------------------------- |
    | *(कोई पैरामीटर नहीं)* | उपयोग निर्देश प्रदर्शित करता है                   | —                             |
    | `--scan`          | सभी 5 CVE का निदान स्कैन करता है                 | —                             |
    | `--fix-all`       | सभी CVE को ठीक करता है                         | **5/5**                       |
    | `--fix-restore`   | **[तेज़]** केवल RESTORE कमांड को ब्लॉक करता है            | **3/5** (25243, 25588, 25589) |
    | `--fix-blocking`  | **[तेज़]** केवल blocking कमांड को ब्लॉक करता है       | **1/5** (23479)               |
    | `--fix-lua`       | **[तेज़]** Lua को ब्लॉक करता है + replica-read-only सक्षम करता है | **1/5** (23631)               |
    | `--fix-cve-23479` | CVE-2026-23479 को ठीक करता है                     | 1/5                           |
    | `--fix-cve-25243` | CVE-2026-25243 को ठीक करता है                     | 1/5                           |
    | `--fix-cve-25588` | CVE-2026-25588 को ठीक करता है                     | 1/5                           |
    | `--fix-cve-25589` | CVE-2026-25589 को ठीक करता है                     | 1/5                           |
    | `--fix-cve-23631` | CVE-2026-23631 को ठीक करता है                     | 1/5                           |
    
    #### कनेक्शन पैरामीटर
    
    | पैरामीटर             | विवरण                 | डिफ़ॉल्ट    |
    | ------------------- | --------------------- | ----------- |
    | `-H, --host HOST`   | Redis होस्ट पता    | `127.0.0.1` |
    | `-p, --port PORT`   | Redis पोर्ट            | `6379`      |
    | `-a, --pass PASS`   | Redis पासवर्ड        | *(खाली)*    |
    | `-u, --user USER`   | ACL उपयोगकर्ता नाम    | `default`   |
    | `-s, --socket PATH` | Unix socket पथ | *(खाली)*    |
    
    #### अतिरिक्त पैरामीटर
    
    | पैरामीटर             | विवरण                                  | डिफ़ॉल्ट                |
    | ------------------- | -------------------------------------- | ----------------------- |
    | `-h, --help`        | सहायता प्रदर्शित करता है                      | —                       |
    | `-c, --config FILE` | redis.conf का पथ                   | `/etc/redis/redis.conf` |
    | `-o, --output FILE` | रिपोर्ट को फ़ाइल में लिखता है (केवल `--scan` के साथ) | *(खाली)*                |
    | `--redis-cli PATH`  | redis-cli बाइनरी का पथ             | `redis-cli` (PATH से)   |
    | `--no-backup`       | संशोधन से पहले config का बैकअप नहीं लेता      | `false`                 |
    
    ### एग्ज़िट कोड (Exit Codes)
    
    | कोड  | अर्थ                                               |
    | --- | ----------------------------------------------------- |
    | `0` | सफल — कोई CVE नहीं मिला या फिक्स पूर्ण हुआ    |
    | `1` | त्रुटि: redis-cli नहीं मिला या कनेक्ट नहीं हो सका |
    | `2` | `--scan` ने कम से कम 1 CVE पाया — फिक्स आवश्यक      |
    
    ### स्कैन आउटपुट (`--scan`)```
    ╔══════════════════════════════════════════════════════════════════════╗
    ║    REDIS CVE SCANNER & MITIGATION TOOL                               ║
    ╚══════════════════════════════════════════════════════════════════════╝
    
    [*] THONG TIN REDIS INSTANCE
      Host:Port     : 127.0.0.1:6379
      Version       : 7.2.5
      Mode          : standalone
      Role          : master
      Modules       : timeseries bf
    
    ═══════════════════════════════════════════════════════════════════════
      [1/5] CVE-2026-23479 - Use-after-free trong Unblock Client Flow
            CVSS 7.7 (HIGH) | RCE
    ═══════════════════════════════════════════════════════════════════════
    [✗] CO KHA NANG BI ANH HUONG - Redis 7.2.5 (can >= 7.2.14)
    
      ... (CVE 2-5 tuong tu)
    
    ╔══════════════════════════════════════════════════════════════════════╗
    ║                         TOM TAT KET QUA                              ║
    ╚══════════════════════════════════════════════════════════════════════╝
      [✗] CVE-2026-23479 - VULNERABLE
      [✗] CVE-2026-25243 - VULNERABLE
      [✗] CVE-2026-25588 - VULNERABLE
      [✗] CVE-2026-25589 - VULNERABLE
      [✓] CVE-2026-23631 - OK
    
      Ket qua: 1 PASS / 4 VULNERABLE
    
    ═══════════════════════════════════════════════════════════════════════
      [!] Phat hien 4 CVE. Su dung cac tuy chon --fix-... de khac phuc.
      VD: ./script.sh --fix-restore    # Chan RESTORE (3 CVE)
      VD: ./script.sh --fix-blocking   # Chan blocking (1 CVE)
      VD: ./script.sh --fix-lua        # Chan Lua (1 CVE)
      VD: ./script.sh --fix-all        # Khac phuc toan bo
    ═══════════════════════════════════════════════════════════════════════
    

    फिक्स करने पर आउटपुट (--fix-restore)```

    ╔══════════════════════════════════════════════════════════════════════╗ ║ REDIS CVE SCANNER & MITIGATION TOOL ║ ╚══════════════════════════════════════════════════════════════════════╝

    [*] THONG TIN REDIS INSTANCE Host:Port : 127.0.0.1:6379 Version : 7.2.5 ...

    ╔══════════════════════════════════════════════════════════════════════╗ ║ FIX NHANH: Chan RESTORE (CVE-2026-25243 + 25588 + 25589) ║ ╚══════════════════════════════════════════════════════════════════════╝ Bao ve 3/5 CVE chi voi 1 lenh chan RESTORE

    [+] Da backup redis.conf toi: /etc/redis/redis.conf.cve-backup-20260508_120000 [*] Chan RESTORE qua ACL (khong can restart) => ACL SETUSER default -restore ... OK => ACL SAVE ... OK

    [*] rename-command RESTORE "" (can restart) => Vo hieu hoa: rename-command RESTORE "" [!] CAN RESTART REDIS de rename-command co hieu luc

    [✓] Da chan RESTORE. Cac CVE duoc bao ve:

    • CVE-2026-25243 (RESTORE double-free/OOB)
    • CVE-2026-25588 (RESTORE + RedisTimeSeries)
    • CVE-2026-25589 (RESTORE + RedisBloom)
    root@kitploit:~
    ## सामान्य उपचार के तरीके
    
    ### विधि 1: ACL (Redis >= 6.0) — अनुशंसित
    
    यह **सबसे सुरक्षित और लचीला तरीका** है, जिसमें Redis को पुनः आरंभ (restart) करने की आवश्यकता नहीं होती।```bash
    # Tao ACL user an toan cho ung dung
    redis-cli ACL SETUSER app_user on >StrongPassword123 ~* \
        +@read \           # Quyen doc du lieu
        +@write \          # Quyen ghi du lieu
        -@dangerous \      # CHAN tat ca lenh nguy hiem (gồm RESTORE)
        -@admin \          # CHAN lenh quan tri
        -@scripting \      # CHAN Lua scripting
        -@blocking \       # CHAN blocking commands
        -@keyspace \       # CHAN keyspace notifications
        -@pubsub           # CHAN pub/sub (neu khong dung)
    
    # Vo hieu hoa default user
    redis-cli ACL SETUSER default off
    
    # Luu ACL vinh vien
    redis-cli ACL SAVE
    

    विधि 2: rename-command — Redis को restart करना आवश्यक है

    redis.conf में निम्नलिखित पंक्तियाँ जोड़ें:```conf

    Vo hieu hoa RESTORE (CVE-2026-25243, 25588, 25589)

    rename-command RESTORE ""

    Vo hieu hoa blocking commands (CVE-2026-23479)

    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 XREAD "" rename-command XREADGROUP ""

    Vo hieu hoa Lua commands (CVE-2026-23631)

    rename-command EVAL "" rename-command EVALSHA "" rename-command SCRIPT "" rename-command FUNCTION "" rename-command FCALL "" rename-command FCALL_RO ""

    root@kitploit:~
    फिर Redis को restart करें:```bash
    sudo systemctl restart redis-server
    # hoặc
    sudo service redis-server restart
    

    विधि 3: नेटवर्क कॉन्फ़िगरेशन + फ़ायरवॉल```bash

    Trong redis.conf:

    protected-mode yes bind 127.0.0.1 192.168.1.10 # Chi lang nghe IP tin cay

    iptables — chi cho phep IP noi bo

    iptables -A INPUT -p tcp --dport 6379 -s 127.0.0.1 -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -j DROP

    Luu iptables

    iptables-save > /etc/iptables/rules.v4

    root@kitploit:~
    ### विधि 4: Redis को न्यूनतम विशेषाधिकारों के साथ चलाना```bash
    # Tao user redis khong co shell
    sudo useradd -r -s /bin/false redis
    
    # Chown thu muc Redis
    sudo chown -R redis:redis /var/lib/redis
    sudo chown -R redis:redis /etc/redis
    
    # Chay Redis duoi user redis
    sudo -u redis redis-server /etc/redis/redis.conf
    

    विधि 5: अनावश्यक मॉड्यूल हटाना```bash

    Kiem tra module dang nap

    redis-cli MODULE LIST

    Go bo module khong can thiet

    redis-cli MODULE UNLOAD timeseries # CVE-2026-25588 redis-cli MODULE UNLOAD bf # CVE-2026-25589

    Xoa loadmodule khoi redis.conf

    Tim va xoa dong:

    loadmodule /path/to/redistimeseries.so

    loadmodule /path/to/redisbloom.so

    root@kitploit:~
    ---
    
    ## जोखिम मूल्यांकन — आंतरिक REDIS / SENTINEL सिस्टम
    
    यह अनुभाग **Redis Sentinel** या standalone Redis क्लस्टर के लिए है जो आंतरिक नेटवर्क में चल रहे हैं, firewall (Fortinet, iptables, आदि) द्वारा सुरक्षित हैं, और **इंटरनेट से सीधा कनेक्शन नहीं रखते**।
    
    ### सारांश
    
    | मौजूदा सुरक्षा स्तर                | जोखिम में कमी?                                                | क्या अपग्रेड आवश्यक है?                  |
    | --------------------------------- | ------------------------------------------------------------- | ---------------------------------------- |
    | कोई इंटरनेट एक्सेस नहीं           | **हाँ** — बाहरी attacker को समाप्त करता है                    | तत्काल आवश्यक नहीं                       |
    | Fortinet Firewall (IPS/DPI के साथ) | **हाँ** — स्रोत IP फ़िल्टर करता है, IPS असामान्य payload का पता लगा सकता है | तत्काल आवश्यक नहीं                       |
    | iptables (स्रोत IP सीमित)          | **हाँ** — केवल अनुमत IP ही Redis पोर्ट से कनेक्ट हो सकते हैं  | तत्काल आवश्यक नहीं                       |
    | **उपरोक्त सभी 3 उपायों का संयोजन** | **शोषण की संभावना बहुत कम हो जाती है**                        | **तत्काल आवश्यक नहीं, लेकिन योजना बनाना उचित** |
    
    ### मुख्य बिंदु: Firewall पर्याप्त क्यों नहीं है?
    
    सभी 5 CVE में एक समानता है: attacker को Redis के साथ **पहले से प्रमाणित** होना चाहिए (PR:L — CVSS वेक्टर में Privileges Required: Low)। Firewall अनुमत नहीं IP से कनेक्शन रोकता है, लेकिन **निम्नलिखित खतरों से सुरक्षा नहीं करता**:
    
    | खतरा                                                                                                              | घटना की संभावना                | शोषण होने पर परिणाम                                                          |
    | ----------------------------------------------------------------------------------------------------------------- | ------------------------------ | ---------------------------------------------------------------------------- |
    | **दुर्भावनापूर्ण आंतरिक कर्मचारी** — आंतरिक नेटवर्क एक्सेस + Redis पासवर्ड जानता है                               | कम लेकिन खारिज नहीं किया जा सकता | Redis सर्वर पर **RCE**, विशेषाधिकार वृद्धि, डेटा चोरी                      |
    | **समझौता किया गया आंतरिक मशीन (Lateral Movement)** — attacker नेटवर्क में किसी भी मशीन में घुसपैठ करता है, फिर Redis पर हमला करता है | मध्यम                         | सभी Redis डेटा चोरी/संशोधित/हटाया जाता है; attacker backdoor स्थापित कर सकता है |
    | **Firewall कॉन्फ़िगरेशन त्रुटि** — गलत rule परिवर्तन के कारण Redis पोर्ट अनजाने में बाहर खुल जाता है               | कम                            | सीधे इंटरनेट पर उजागर होने के बराबर                                          |
    | **Supply Chain / थर्ड-पार्टी** — साझेदार, विक्रेता के पास आंतरिक नेटवर्क में VPN कनेक्शन है                       | कम                            | RCE, डेटा बहिर्गमन                                                           |
    | **Firewall/नेटवर्क में ही कमजोरी** — attacker अन्य कमजोरियों के माध्यम से firewall को पार करता है                   | बहुत कम                       | पूरा आंतरिक सिस्टम प्रभावित होता है                                          |
    
    ### मात्रात्मक जोखिम विश्लेषण```
    Rủi ro = Xác suất khai thác × Hậu quả
    
    Với firewall + air-gap:
      = (RẤT THẤP: 0.5% - 2%/năm) × (NGHIÊM TRỌNG: RCE toàn hệ thống, mất toàn bộ dữ liệu)
      = RỦI RO TRUNG BÌNH — vẫn đáng quan tâm
    

    Sentinel क्लस्टर के लिए विशिष्ट खतरा मॉडल

    Redis Sentinel क्लस्टर में अतिरिक्त जोखिम होते हैं:

    Sentinel हमला वेक्टरविवरणसंबंधित CVE
    Sentinel पर कब्ज़ा — attacker Sentinel नोड पर कब्ज़ा करता है, जिससे दुर्भावनापूर्ण replica पर failover होता हैSentinel एक अलग पोर्ट (आमतौर पर 26379) पर संचार करता है, यदि इसे अलग से सुरक्षित न किया गया होCVE-2026-23631 (यदि replica में replica-read-only no हो)
    Replica promotion — कब्ज़ा किया गया replica master के रूप में promote हो जाता हैपूरे क्लस्टर का डेटा बदल दिया जाता हैसभी RESTORE CVE (25243, 25588, 25589)
    Master-replica सिंक — attacker sync प्रवाह को रोकता हैsync प्रक्रिया के दौरान डेटा चोरी हो जाता हैCVE-2026-23631

    प्राथमिकता के अनुसार अनुशंसाएँ

    प्राथमिकताकार्रवाईकार्यान्वयन समयडाउनटाइम आवश्यक?
    P0 — तुरंतसभी नोड्स (master + replica + sentinel) की जाँच के लिए स्क्रिप्ट चलाएँ: ./CVE-...sh -H <ip> -p <port> -a <pass>2-5 मिनट / नोडनहीं
    P0 — तुरंतसभी replicas पर replica-read-only yes जाँचें: redis-cli CONFIG GET replica-read-only1 मिनट / नोडनहीं
    P1 — सप्ताह के भीतरACL के माध्यम से RESTORE ब्लॉक करें (restart की आवश्यकता नहीं): redis-cli ACL SETUSER default -restore; redis-cli ACL SAVE2 मिनट / नोडनहीं
    P1 — सप्ताह के भीतरACL के माध्यम से @blocking कमांड ब्लॉक करें (CVE-2026-23479)2 मिनट / नोडनहीं
    P1 — सप्ताह के भीतरयदि Lua का उपयोग नहीं होता है तो ACL के माध्यम से @scripting कमांड ब्लॉक करें (CVE-2026-23631)2 मिनट / नोडनहीं
    P2 — अगली maintenance windowredis.conf में rename-command RESTORE "", rename-command EVAL "", ... जोड़ें10 मिनट (restart सहित)हाँ (Redis restart)
    P2 — अगली maintenance windowRedis को पैच किए गए संस्करण में अपग्रेड करें (6.2.22, 7.2.14, 7.4.9, 8.2.6, 8.4.3, 8.6.3)30-60 मिनट / क्लस्टरहाँ (पूरे क्लस्टर का restart)

    उदाहरण: ACL का उपयोग करके पूरे Sentinel क्लस्टर की सुरक्षा (बिना डाउनटाइम)```bash

    ============================================

    Chay tren TUNG node Redis (master + replica)

    ============================================

    1. Tao ACL user an toan cho ung dung

    redis-cli -h <node_ip> -p 6379 -a ACL SETUSER app_user on >StrongPass123 ~*
    +@read +@write
    -@dangerous -@admin -@scripting -@blocking
    -restore -debug

    2. Vo hieu hoa default user

    redis-cli -h <node_ip> -p 6379 -a ACL SETUSER default off

    3. Luu ACL

    redis-cli -h <node_ip> -p 6379 -a ACL SAVE

    4. Kiem tra lai

    redis-cli -h <node_ip> -p 6379 -a --user app_user --pass StrongPass123 PING

    root@kitploit:~
    सुरक्षा अनुसंधानकर्ताओं के लिए, यह उपकरण विभिन्न प्रकार के साइबर खतरों का पता लगाने और उनका विश्लेषण करने के लिए एक व्यापक समाधान प्रदान करता है। यह नेटवर्क ट्रैफ़िक की निगरानी, संदिग्ध गतिविधियों की पहचान और वास्तविक समय में अलर्ट उत्पन्न करने में सक्षम है। इसके अतिरिक्त, यह लॉग फ़ाइलों का विश्लेषण करके घुसपैठ के प्रयासों का पता लगा सकता है और विस्तृत रिपोर्ट तैयार कर सकता है। यह उपकरण विभिन्न ऑपरेटिंग सिस्टम के साथ संगत है और इसे आसानी से मौजूदा सुरक्षा ढांचे में एकीकृत किया जा सकता है। इसका उपयोग करने के लिए, उपयोगकर्ताओं को केवल कुछ बुनियादी कमांड चलाने की आवश्यकता होती है, और यह स्वचालित रूप से कॉन्फ़िगरेशन फ़ाइलों को पढ़कर आवश्यक सेटिंग्स लागू कर देता है।```bash
    # ============================================
    # Chay tren TUNG node Sentinel (port 26379)
    # ============================================
    
    # Sentinel thuong khong can RESTORE/EVAL — chan toan bo lenh nguy hiem
    redis-cli -h <sentinel_ip> -p 26379 -a <sentinel_pass> ACL SETUSER default \
        -@dangerous -@admin -@scripting -@blocking -restore
    
    redis-cli -h <sentinel_ip> -p 26379 -a <sentinel_pass> ACL SAVE
    

    निर्णय प्रवाह: क्या तुरंत अपग्रेड करना आवश्यक है?```

    Hệ thống Redis của bạn có public-facing không? ├── CÓ → NÂNG CẤP NGAY hoặc áp dụng workaround TRONG 24H └── KHÔNG (nội bộ / air-gapped) ├── Có dùng Lua scripting (EVAL/EVALSHA)? │ ├── CÓ → CVE-2026-23631: Kiểm tra replica-read-only, chặn @scripting qua ACL │ └── KHÔNG → Rủi ro thấp hơn ├── Có dùng RedisTimeSeries hoặc RedisBloom module? │ ├── CÓ → CVE-2026-25588/25589: Chặn RESTORE qua ACL, nâng cấp module │ └── KHÔNG → Không bị ảnh hưởng bởi 25588/25589 ├── Có dùng blocking commands (BLPOP, XREAD, ...)? │ ├── CÓ → CVE-2026-23479: Chặn @blocking qua ACL hoặc rename-command │ └── KHÔNG → Chặn @blocking để an toàn (không ảnh hưởng) └── KẾT LUẬN: ├── Áp dụng ACL workaround NGAY TRONG TUẦN (không downtime) └── Lên kế hoạch nâng cấp TRONG MAINTENANCE WINDOW TIẾP THEO

    root@kitploit:~
    ### निष्कर्ष
    
    > **फ़ायरवॉल + नेटवर्क आइसोलेशन शोषण की संभावना को बहुत कम कर देते हैं, लेकिन शोषण होने पर परिणाम अभी भी पूरे सिस्टम पर RCE होता है।** चूंकि सुधार की लागत लगभग शून्य है (बिना रीस्टार्ट के कुछ ACL लाइनें जोड़ना), सुरक्षा उपाय लागू करना जोखिम प्रबंधन के दृष्टिकोण से लाभकारी निर्णय है। **घबराकर तुरंत अपग्रेड करने की आवश्यकता नहीं है**, लेकिन **इस सप्ताह ACL workaround लागू करना चाहिए** और अगले maintenance window में अपग्रेड का शेड्यूल बनाना चाहिए।
    
    ---
    
    ## ACL REFERENCE
    
    ### महत्वपूर्ण कमांड श्रेणियाँ
    
    | श्रेणी       | विवरण                                                                           | CVE प्रभाव                   |
    | ------------ | ------------------------------------------------------------------------------- | ---------------------------- |
    | `@dangerous` | खतरनाक कमांड (RESTORE, FLUSHDB, FLUSHALL, KEYS, SHUTDOWN, DEBUG, CONFIG सहित)   | CVE-2026-25243, 25588, 25589 |
    | `@blocking`  | ब्लॉकिंग कमांड (BLPOP, BRPOP, BZPOPMIN, XREAD, WAIT, ...)                       | CVE-2026-23479               |
    | `@scripting` | Lua स्क्रिप्टिंग (EVAL, EVALSHA, SCRIPT, FUNCTION, FCALL)                       | CVE-2026-23631               |
    | `@admin`     | प्रशासन कमांड (CONFIG, ACL, CLIENT, CLUSTER, MONITOR, SHUTDOWN, ...)            | सामान्य सुरक्षा              |
    | `@keyspace`  | keyspace से संबंधित कमांड (KEYS, SCAN, FLUSHDB, FLUSHALL, ...)                  | सामान्य सुरक्षा              |
    | `@read`      | डेटा पढ़ने वाले कमांड (GET, HGET, LRANGE, SMEMBERS, ZRANGE, ...)                | सुरक्षित                     |
    | `@write`     | डेटा लिखने वाले कमांड (SET, HSET, LPUSH, SADD, ZADD, ...)                       | सुरक्षित                     |
    
    ### पूर्ण ACL कॉन्फ़िगरेशन का उदाहरण```bash
    # 1. Tao admin user (day du quyen)
    redis-cli ACL SETUSER admin on >AdminPass123 ~* +@all
    
    # 2. Tao app user (quyen gioi han)
    redis-cli ACL SETUSER app on >AppPass123 ~* \
        +@read \
        +@write \
        -@dangerous \
        -@admin \
        -@scripting \
        -@blocking \
        -restore \
        -debug
    
    # 3. Tao readonly user (chi doc)
    redis-cli ACL SETUSER reader on >ReaderPass123 ~* \
        +@read \
        -@dangerous \
        -@admin \
        -@scripting
    
    # 4. Vo hieu hoa default user
    redis-cli ACL SETUSER default off
    
    # 5. Luu ACL
    redis-cli ACL SAVE
    
    # 6. Kiem tra ACL
    redis-cli ACL LIST
    

    प्रभावी ACL जाँच```bash

    Liet ke tat ca ACL rules

    redis-cli ACL LIST

    Kiem tra quyen cua mot user

    redis-cli ACL GETUSER app

    Kiem tra user hien tai

    redis-cli ACL WHOAMI

    Xem log vi pham ACL

    redis-cli ACL LOG

    root@kitploit:~
    ---
    
    ## आवधिक परीक्षण प्रक्रिया
    
    ### 1. एक बार परीक्षण (ad-hoc)```bash
    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -H <redis_host> -p <port> -a <password> \
        -o report_$(date +%Y%m%d_%H%M%S).txt
    

    2. एक साथ कई Redis instance की जाँच करना

    redis_hosts.txt फ़ाइल बनाएँ:```

    Format: host:port:password:user

    10.0.0.1:6379:pass1:default 10.0.0.2:6379:pass2:default 10.0.0.3:6380:pass3:admin

    root@kitploit:~
    स्क्रिप्ट बैच जाँच:```bash
    #!/bin/bash
    # File: batch_check.sh
    
    BATCH_RESULT="batch_result_$(date +%Y%m%d_%H%M%S).txt"
    
    while IFS=':' read -r host port pass user; do
        [[ "$host" =~ ^#.* ]] && continue  # Bo qua comment
        [[ -z "$host" ]] && continue        # Bo qua dong trong
    
        echo "============================================" | tee -a "$BATCH_RESULT"
        echo "Kiem tra: $host:$port" | tee -a "$BATCH_RESULT"
        echo "============================================" | tee -a "$BATCH_RESULT"
    
        ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
            -H "$host" -p "${port:-6379}" \
            -a "${pass:-}" -u "${user:-default}" \
            2>&1 | tee -a "$BATCH_RESULT"
    
        echo "" | tee -a "$BATCH_RESULT"
    done < redis_hosts.txt
    
    echo "Bao cao tong hop: $BATCH_RESULT"
    

    3. क्रॉन में एकीकरण (दैनिक जाँच)```bash

    Them vao crontab (chay hang ngay luc 7:00 AM)

    0 7 * * * /opt/scripts/CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan
    -H 127.0.0.1 -p 6379 -a mypassword
    -o /var/log/redis/cve_report_$(date +%Y%m%d).txt
    > /dev/null 2>&1

    root@kitploit:~
    ### 4. CI/CD पाइपलाइन में एकीकरण```yaml
    # GitLab CI example
    redis-security-scan:
      stage: security
      image: redis:7-alpine
      script:
        - chmod +x CVE-2026-25589-25588-25243-23631-23479-REDIS.sh
        - ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
            -H $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASS \
            -o cve_report.txt
      artifacts:
        paths:
          - cve_report.txt
        when: always
      allow_failure: true
    

    अक्सर पूछे जाने वाले प्रश्न (FAQ)

    प्रश्न: क्या --fix-... लागू करने के बाद मुझे Redis को restart करने की आवश्यकता है?

    उत्तर: हाँ, rename-command परिवर्तनों के लिए — वे केवल Redis को restart करने के बाद प्रभावी होते हैं। CONFIG SET (जैसे protected-mode, replica-read-only) के माध्यम से किए गए परिवर्तन तुरंत प्रभावी होते हैं। ACL SETUSER + ACL SAVE के माध्यम से किए गए परिवर्तन तुरंत प्रभावी होते हैं, restart की आवश्यकता नहीं होती। यदि आप केवल ACL (--fix-restore, --fix-blocking, --fix-lua) का उपयोग करते हैं, तो आपको restart करने की आवश्यकता नहीं है। स्क्रिप्ट हमेशा बहु-स्तरीय सुरक्षा के लिए ACL (runtime) और rename-command (restart आवश्यक) दोनों को एक साथ लागू करती है।

    प्रश्न: क्या RESTORE को ब्लॉक करने से सामान्य संचालन प्रभावित होता है?

    उत्तर: RESTORE कमांड आमतौर पर केवल निम्नलिखित मामलों में उपयोग किया जाता है:

    • बैकअप से डेटा पुनर्स्थापित करना
    • इंस्टेंस के बीच डेटा माइग्रेशन
    • कस्टम डेटा सिंक्रोनाइज़ेशन

    यदि आपका एप्लिकेशन RESTORE का उपयोग नहीं करता है, तो इस कमांड को ब्लॉक करना सुरक्षित है। यदि इसका उपयोग करता है, तो RESTORE अनुमति वाला एक अलग ACL उपयोगकर्ता बनाएं और इसे केवल admin उद्देश्यों के लिए उपयोग करें।

    प्रश्न: मैं Redis < 6.0 उपयोग कर रहा हूँ, ACL उपलब्ध नहीं है। क्या करूँ?

    उत्तर: Redis < 6.0 के साथ, आप कमांड को अक्षम करने के लिए केवल rename-command का उपयोग कर सकते हैं। चरण:

    1. redis.conf में rename-command RESTORE "" जोड़ें
    2. blocking कमांड के लिए rename-command निर्देश जोड़ें
    3. protected-mode yes सक्षम करें
    4. मजबूत पासवर्ड के साथ requirepass सेट करें
    5. फ़ायरवॉल के माध्यम से कनेक्शन सीमित करें
    6. Redis को restart करें

    प्रश्न: मुझे कैसे पता चलेगा कि RedisTimeSeries/RedisBloom मॉड्यूल लोड हो रहे हैं?

    उत्तर: निम्न कमांड चलाएँ:```bash redis-cli MODULE LIST

    root@kitploit:~
    आउटपुट लोड किए गए मॉड्यूल की सूची उनके वर्जन के साथ दिखाएगा। यदि `timeseries` या `bf` दिखाई नहीं देता है, तो मॉड्यूल लोड नहीं हुआ है।
    
    ### प्रश्न: क्या `--fix-all` / `--fix-restore` / `--fix-...` प्रोडक्शन के लिए सुरक्षित हैं?
    
    **उत्तर:** फिक्स कमांड सुरक्षित बदलाव करते हैं:
    
    - redis.conf को संपादित करने से पहले बैकअप लें (जब तक `--no-backup` उपयोग न किया जाए)
    - **ACL** (`-restore`, `-@blocking`, `-@scripting`): तुरंत प्रभावी, कोई डाउनटाइम नहीं, आसानी से पूर्ववत किया जा सकता है
    - **rename-command**: प्रभावी होने के लिए Redis को पुनरारंभ करना आवश्यक है
    - **CONFIG SET**: रनटाइम पर लागू होता है, यदि redis.conf में नहीं लिखा गया तो पुनरारंभ पर खो जाता है
    
    सिफारिश: प्रोडक्शन के लिए, पहले `--fix-restore`, `--fix-blocking`, `--fix-lua` का उपयोग करें (केवल ACL, पुनरारंभ की आवश्यकता नहीं)। फिर `rename-command` के साथ पुनरारंभ करने के लिए maintenance window शेड्यूल करें।
    
    ### प्रश्न: `--fix-...` के बदलावों को कैसे पूर्ववत (रोलबैक) करें?
    
    **उत्तर:**
    
    1. यदि बैकअप लिया गया है: बैकअप फ़ाइल को redis.conf पर कॉपी करके ओवरराइट करें, फिर Redis को पुनरारंभ करें
    2. यदि `CONFIG SET` उपयोग किया गया है: Redis को पुनरारंभ करने से फ़ाइल से कॉन्फ़िगरेशन पुनर्स्थापित हो जाएगा
    3. यदि `ACL SETUSER` उपयोग किया गया है: अनुमतियाँ पुनर्स्थापित करने के लिए `ACL SETUSER <user> +<cmd>` का उपयोग करें
    
    ### प्रश्न: क्या मुझे Redis को अपग्रेड करना चाहिए?
    
    **उत्तर:** **हाँ, यदि संभव हो।** पैच किए गए संस्करण में अपग्रेड करना सबसे पूर्ण समाधान है। यह स्क्रिप्ट निम्नलिखित मामलों के लिए है:
    
    - एप्लिकेशन बाधाओं के कारण तुरंत अपग्रेड नहीं कर सकते
    - नए संस्करण का परीक्षण करने के लिए समय चाहिए
    - maintenance window की प्रतीक्षा करते समय अस्थायी सुरक्षा उपाय की आवश्यकता है
    
    ### प्रश्न: Redis आंतरिक रूप से चलता है, इंटरनेट से बाहर नहीं, फ़ायरवॉल द्वारा सुरक्षित है — क्या अपग्रेड आवश्यक है?
    
    **उत्तर:** **तत्काल अपग्रेड आवश्यक नहीं है**, लेकिन **workaround लागू करना और अपग्रेड की योजना बनाना चाहिए** क्योंकि:
    
    - फ़ायरवॉल केवल हमले की **संभावना** कम करता है, जोखिम को पूरी तरह समाप्त नहीं करता
    - आंतरिक नेटवर्क के अंदर से हमलावर (दुर्भावनापूर्ण कर्मचारी, समझौता किए गए मशीन, lateral movement) अभी भी शोषण कर सकते हैं
    - शोषण होने पर परिणाम **पूरे सिस्टम का RCE** है — उच्चतम गंभीरता स्तर
    - **workaround की लागत बहुत कम है**: ACL `-restore -@blocking -@scripting` जोड़ने में 2 मिनट लगते हैं, कोई डाउनटाइम नहीं
    
    **अनुशंसित रोडमैप:**
    
    1. **इस सप्ताह:** ACL workaround लागू करें (कोई डाउनटाइम नहीं)
    2. **अगला maintenance window:** Redis अपग्रेड करें + `rename-command` जोड़ें
    
    विवरण के लिए [जोखिम मूल्यांकन — आंतरिक Redis सिस्टम / Sentinel](#जोखिम-मूल्यांकन--आंतरिक-redis-सिस्टम--sentinel) देखें।
    
    ---
    
    ## संदर्भ
    
    - [आधिकारिक Redis Security Advisory](https://redis.io/blog/security-advisory-cve202623479-cve202625243-cve-2026-25588-cve202625589-cve-2026-23631/)
    - [GitHub Advisory — CVE-2026-25243 (RESTORE RCE)](https://github.com/redis/redis/security/advisories/GHSA-c8h9-259x-jff4)
    - [GitHub Advisory — CVE-2026-23631 (Lua UAF)](https://github.com/redis/redis/security/advisories/GHSA-8ghh-qpmp-7826)
    - [Redis ACL दस्तावेज़ीकरण](https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/)
    - [Redis rename-command दस्तावेज़ीकरण](https://redis.io/docs/latest/operate/oss_and_stack/management/security/#disable-specific-commands)
    - [NVD — CVE-2026-25243](https://nvd.nist.gov/vuln/detail/CVE-2026-25243)
    - [NVD — CVE-2026-25588](https://nvd.nist.gov/vuln/detail/CVE-2026-25588)
    - [OpenCVE — CVE-2026-23479](https://app.opencve.io/cve/CVE-2026-23479)
    - [Tenable — CVE-2026-23631](https://www.tenable.com/cve/CVE-2026-23631)
    
    ---
    
    > **अस्वीकरण:** यह दस्तावेज़ Redis security advisory और NVD स्रोतों से सार्वजनिक जानकारी के आधार पर संकलित किया गया है। उपयोगकर्ता लागू करने से पहले अपने वातावरण के लिए उपयुक्त सुधार उपायों की जाँच और पुष्टि करने के लिए ज़िम्मेदार हैं।
    
    टूल डाउनलोड करें