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
PoC-CVE-2025-69420 — Crash-only-PoC für CVE-2025-69420, der eine Typverwechslungsschwachstelle in der TimeStamp-Response-Überprüfung von OpenSSL über manipulierte ESS-Signaturzertifikatsattribute demonstriert. | Kitploit
Tools/GitHubGitHub/kha-beleh/poc-cve-2025-69420
SchwachstellenanalyseExploitationFuzzingKryptographieLernen & BildungBinary-Exploitation
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

Crash-only-PoC für CVE-2025-69420, der eine Typverwechslungsschwachstelle in der TimeStamp-Response-Überprüfung von OpenSSL über manipulierte ESS-Signaturzertifikatsattribute demonstriert.

Repository anzeigen
2vor 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-2025-69420 — OpenSSL TimeStamp Response Typverwechslungs-PoC

Reiner Crash-only-Labor-Reproduzent für CVE-2025-69420 in OpenSSL. Der PoC lädt eine gültige RFC-3161-TimeStamp-Response, ändert das signierte ESS-Attribut im Speicher von V_ASN1_SEQUENCE zu V_ASN1_NULL und ruft TS_RESP_verify_response() auf.

Auf einem betroffenen Build greift ossl_ess_get_signing_cert_v2() oder ossl_ess_get_signing_cert() auf die ASN1_TYPE-Union wie auf eine Sequenz zu, ohne den aktiven Typ zu validieren. UBSan meldet einen Member-Zugriff über einen Null-ASN1_STRING-Zeiger. Die erwartete Auswirkung ist Prozessbeendigung / Denial of Service; dieses Repository enthält keine Logik zur Codeausführung.

Bestätigtes Ergebnis

Die mitgelieferte Testausgabe bestätigt das Problem:

root@kitploit:~
runtime error: member access within null pointer of type 'struct ASN1_STRING'
#0 ossl_ess_get_signing_cert_v2
#1 ts_check_signing_certs
#2 TS_RESP_verify_signature
#3 int_ts_RESP_verify_token
#4 TS_RESP_verify_response

Dies entspricht der Schwachstellenbeschreibung: Eine fehlerhafte TimeStamp Response erreicht TS_RESP_verify_response(), und ein ESS-Signaturzertifikat-Attribut eines anderen Typs als V_ASN1_SEQUENCE verursacht eine ungültige oder NULL-Zeiger-Dereferenzierung.

Geltungsbereich

Nur in einer isolierten Umgebung gegen einen OpenSSL-Build testen, der dir gehört oder zu dessen Bewertung du autorisiert bist. Dies ist ein reiner Crash-Reproduzent.

Anforderungen

  • Linux und GCC
  • Betroffener OpenSSL-Build, kompiliert mit ASan und UBSan
  • OpenSSL-Entwicklungsheader im Build-Verzeichnis

Standard-Build-Pfad:

root@kitploit:~
/path/to/openssl-3.0.7-asan

Bei Bedarf überschreiben:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-asan-build

Verwendung

root@kitploit:~
git clone https://github.com/Kha-Beleh/PoC-CVE-2025-69420.git
cd PoC-CVE-2025-69420

export OPENSSL_BUILD=/path/to/openssl-3.0.7-asan
make prepare
make build
make run

Oder alles separat ausführen:

root@kitploit:~
./scripts/prepare.sh
./scripts/build.sh
./scripts/run.sh

prepare.sh verwendet das minimale openssl.cnf des Repositorys und hängt daher nicht von einer fehlenden $OPENSSL_BUILD/ssl/openssl.cnf ab.

Erwartete Ausgabe auf einem betroffenen Build

root@kitploit:~
[+] Loaded valid TimeStamp Response
[+] Found attribute: id-smime-aa-signingCertificateV2
[+] Original ASN.1 type: 16
[+] Attribute changed to V_ASN1_NULL
[+] Calling TS_RESP_verify_response()
crypto/ts/ts_rsp_verify.c:...: runtime error: member access within null pointer of type 'struct ASN1_STRING'
    #0 ... in ossl_ess_get_signing_cert_v2
    #1 ... in ts_check_signing_certs
    #2 ... in TS_RESP_verify_signature
    #3 ... in int_ts_RESP_verify_token
    #4 ... in TS_RESP_verify_response

Die genauen Adressen und Zeilennummern variieren je nach Build. Mit UBSAN_OPTIONS=halt_on_error=1 beendet der Prozess beim ersten erkannten undefinierten Vorgang.

Erwartetes Ergebnis auf einem behobenen Build

Das fehlerhafte Attribut sollte sauber abgewiesen werden, ohne dass der Sanitizer einen Befund meldet oder der Prozess abstürzt. Der PoC gibt dann Folgendes aus:

root@kitploit:~
[+] Malformed response rejected without a crash

Technische Interpretation

Der ursprüngliche Attributtyp-Wert 16 ist V_ASN1_SEQUENCE. Der PoC ändert ihn zu V_ASN1_NULL. In der betroffenen Implementierung behandelt der Code das Union-Member anschließend als value.sequence und dereferenziert es. Da das aktive Member keine Sequenz ist, erkennt UBSan einen Member-Zugriff über einen Null-ASN1_STRING *.

Es handelt sich um eine Typverwechslung / fehlende Prüfung von Ausnahmebedingungen und nicht um einen Heap- oder Stack-Pufferüberlauf.

Dateien

  • poc.c — minimaler Reproduzent
  • scripts/prepare.sh — erzeugt TSA-Schlüssel, Zertifikat, Anfrage und gültige Antwort
  • scripts/build.sh — kompiliert gegen den ASan/UBSan-OpenSSL-Build
  • scripts/run.sh — führt mit Sanitizer-Einstellungen aus
  • openssl.cnf — minimale Provider-/Anfragekonfiguration
  • tsa.conf — lokale RFC-3161-TSA-Konfiguration
  • evidence/confirmed-output.txt — gekürzte bestätigte Sanitizer-Ablaufverfolgung

Referenzen

  • NVD: CVE-2025-69420
  • OpenSSL-Fix: Commit 4e254b48ad93cc092be3dd62d97015f33f73133a
Tool herunterladen