Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PoC-CVE-2025-69420 | Kitploit
Herramientas/GitHubGitHub/kha-beleh/poc-cve-2025-69420
Análisis de VulnerabilidadesExplotaciónFuzzingCriptografíaAprendizaje y EducaciónExplotación de Binarios
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

Ver Repositorio
hace 29 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-69420 — PoC de confusión de tipos en OpenSSL TimeStamp Response

Reproductor de laboratorio exclusivamente de caída para CVE-2025-69420 en OpenSSL. El PoC carga una TimeStamp Response RFC 3161 válida, cambia en memoria el atributo ESS firmado de V_ASN1_SEQUENCE a V_ASN1_NULL y llama a TS_RESP_verify_response().

En una compilación afectada, ossl_ess_get_signing_cert_v2() o ossl_ess_get_signing_cert() accede a la unión ASN1_TYPE como una secuencia sin validar el tipo activo. UBSan informa de acceso a un miembro a través de un puntero ASN1_STRING nulo. El impacto esperado es la terminación del proceso / denegación de servicio; este repositorio no contiene lógica de ejecución de código.

Resultado confirmado

La salida de prueba proporcionada confirma el problema:

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

Esto coincide con la descripción de la vulnerabilidad: una TimeStamp Response malformada llega a TS_RESP_verify_response(), y un atributo ESS de certificado de firma de un tipo distinto de V_ASN1_SEQUENCE provoca una desreferencia de puntero inválida o NULL.

Alcance

Pruébelo únicamente en un entorno aislado contra una compilación de OpenSSL que sea suya o que esté autorizado a evaluar. Este es un reproductor exclusivamente de caída.

Requisitos

  • Linux y GCC
  • Compilación de OpenSSL afectada compilada con ASan y UBSan
  • Cabeceras de desarrollo de OpenSSL en el árbol de compilación

Ruta de compilación predeterminada:

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

Puede sobrescribirla cuando sea necesario:

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

Uso

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

O ejecute todo por separado:

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

El script prepare.sh usa el openssl.cnf mínimo del repositorio, por lo que no depende de la existencia de $OPENSSL_BUILD/ssl/openssl.cnf.

Salida esperada en una compilación afectada

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

Las direcciones y números de línea exactos varían según la compilación. Con UBSAN_OPTIONS=halt_on_error=1, el proceso termina en la primera operación indefinida detectada.

Resultado esperado en una compilación corregida

El atributo malformado debe rechazarse limpiamente, sin hallazgos del sanitizador ni caída del proceso. El PoC entonces imprime:

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

Interpretación técnica

El valor de tipo de atributo original 16 es V_ASN1_SEQUENCE. El PoC lo cambia a V_ASN1_NULL. En la implementación afectada, el código trata posteriormente el miembro de la unión como value.sequence y lo desreferencia. Dado que el miembro activo no es una secuencia, UBSan detecta el acceso a un miembro a través de un ASN1_STRING * nulo.

Esto es una confusión de tipos / ausencia de comprobación de condiciones excepcionales, más que un desbordamiento de búfer en heap o en la pila.

Archivos

  • poc.c — reproductor mínimo
  • scripts/prepare.sh — genera la clave TSA, el certificado, la solicitud y una respuesta válida
  • scripts/build.sh — compila contra la compilación de OpenSSL con ASan/UBSan
  • scripts/run.sh — se ejecuta con la configuración de sanitizadores
  • openssl.cnf — configuración mínima de provider/solicitud
  • tsa.conf — configuración local de TSA RFC 3161
  • evidence/confirmed-output.txt — traza de sanitizador confirmada y abreviada

Referencias

  • NVD: CVE-2025-69420
  • Corrección de OpenSSL: commit 4e254b48ad93cc092be3dd62d97015f33f73133a
Descargar herramienta