Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/kha-beleh/poc-cve-2025-69420
Analyse des VulnérabilitésExploitationFuzzingCryptographieApprentissage et ÉducationExploitation de Binaires
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

PoC de crash uniquement pour CVE-2025-69420 démontrant une vulnérabilité de type-confusion dans la vérification de TimeStamp Response d'OpenSSL via des attributs de certificat de signature ESS malformés.

Voir le dépôt
2il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-69420 — PoC de confusion de type de réponse TimeStamp OpenSSL

Reproducteur de laboratoire uniquement plantant pour CVE-2025-69420 dans OpenSSL. Le PoC charge une réponse TimeStamp RFC 3161 valide, modifie l'attribut ESS signé de V_ASN1_SEQUENCE à V_ASN1_NULL en mémoire, et appelle TS_RESP_verify_response().

Sur une version affectée, ossl_ess_get_signing_cert_v2() ou ossl_ess_get_signing_cert() accède à l'union ASN1_TYPE comme une séquence sans valider le type actif. UBSan signale un accès à un membre via un pointeur ASN1_STRING nul. L'impact attendu est la terminaison du processus / déni de service ; ce dépôt ne contient aucune logique d'exécution de code.

Résultat confirmé

La sortie de test fournie confirme le problème :

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

Cela correspond à la description de la vulnérabilité : une réponse TimeStamp malformée atteint TS_RESP_verify_response(), et un attribut de certificat de signature ESS d'un type autre que V_ASN1_SEQUENCE provoque un déréférencement de pointeur invalide ou NULL.

Portée

Testez uniquement dans un environnement isolé contre une version d'OpenSSL que vous possédez ou que vous êtes autorisé à évaluer. Ceci est un reproducteur de plantage uniquement.

Prérequis

  • Linux et GCC
  • Version affectée d'OpenSSL compilée avec ASan et UBSan
  • En-têtes de développement OpenSSL dans l'arborescence de construction

Chemin de construction par défaut :

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

Remplacez-le si nécessaire :

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

Utilisation

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

Ou exécutez tout séparément :

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

prepare.sh utilise le openssl.cnf minimal du dépôt, donc il ne dépend pas d'un $OPENSSL_BUILD/ssl/openssl.cnf manquant.

Sortie attendue sur une version affectée

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

Les adresses exactes et les numéros de ligne varient selon la version. Avec UBSAN_OPTIONS=halt_on_error=1, le processus se termine à la première opération indéfinie détectée.

Résultat attendu sur une version corrigée

L'attribut malformé doit être rejeté proprement sans résultat du sanitizer ni plantage du processus. Le PoC affiche alors :

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

Interprétation technique

La valeur de type d'attribut originale 16 est V_ASN1_SEQUENCE. Le PoC la change en V_ASN1_NULL. Dans l'implémentation affectée, le code traite ensuite le membre de l'union comme value.sequence et le déréférence. Parce que le membre actif n'est pas une séquence, UBSan détecte un accès à un membre via un pointeur ASN1_STRING * nul.

Il s'agit d'une confusion de type / d'un contrôle de condition exceptionnelle manquant, plutôt que d'un débordement de tampon de tas ou de pile.

Fichiers

  • poc.c — reproducteur minimal
  • scripts/prepare.sh — génère la clé TSA, le certificat, la demande et la réponse valide
  • scripts/build.sh — compile contre la version OpenSSL avec ASan/UBSan
  • scripts/run.sh — s'exécute avec les paramètres du sanitizer
  • openssl.cnf — configuration minimale du fournisseur/de la demande
  • tsa.conf — configuration TSA locale RFC 3161
  • evidence/confirmed-output.txt — trace sanitizer confirmée raccourcie

Références

  • NVD: CVE-2025-69420
  • Correctif OpenSSL : commit 4e254b48ad93cc092be3dd62d97015f33f73133a
Télécharger l’outil