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
details-for-CVE-2022-46505 — MatrixSSL error de reanudación de sesión | Kitploit
Herramientas/GitHubGitHub/smalltown123/details-for-cve-2022-46505
Análisis de VulnerabilidadesExplotaciónCriptografíaAnálisis de BinariosAprendizaje y Educación
GitHubsmalltown123/details-for-cve-2022-46505

details-for-CVE-2022-46505

MatrixSSL error de reanudación de sesión

Ver Repositorio
43hace 3 añosAú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

details-for-CVE-2022-46505

Error de reanudación de sesión en MatrixSSL

1. Descripción del error

Un problema en MatrixSSL 4.5.1-open y anteriores provoca un fallo al verificar de forma segura el campo SessionID, resultando en el uso indebido de un MasterSecret todo ceros que puede descifrar datos secretos.

2. Versión afectada

MatrixSSL 4.5.1-open y anteriores

3. Tipo de vulnerabilidad

descifrado de sesión reanudada TLS

4. Detalles del error

El servidor matrixssl almacena la información de sesión negociada a través de una lista.

root@kitploit:~
static sslSessionEntry_t g_sessionTable[SSL_SESSION_TABLE_SIZE]; 
// SSL_SESSION_TABLE_SIZE is 32
root@kitploit:~
typedef struct
{
    unsigned char id[SSL_MAX_SESSION_ID_SIZE]; // 32
    unsigned char masterSecret[SSL_HS_MASTER_SIZE]; // 48
    const sslCipherSpec_t *cipher;
    unsigned char majVer;
    unsigned char minVer;
    short extendedMasterSecret;           /* was the extension used? */
    psTime_t startTime;
    int32 inUse;
    DLListEntry chronList;
} sslSessionEntry_t;

Los primeros cuatro bytes del campo SessionID son un número en secuencia little-endian que va de 0 a 31.

Untitled

Matrixssl determina si la sesión es una sesión reanudada comparando la longitud del ID de sesión recibido con el índice rápido de cuatro bytes.

Sin embargo, cuando la lista de almacenamiento se inicializa, MasterSecret es todo ceros.

Por lo tanto, un Cliente malicioso puede enviar un SessionID de un byte para la reanudación de sesión con MasterSecret todo ceros. Cuando el servidor recibe un sessionid de un solo byte, los bytes siguientes por defecto son 0. Por lo tanto, puede ser validado e indexado en la lista, y el MasterSecret correspondiente a ese número de secuencia en la lista aún puede ser 0. Si esto ocurre, podemos calcular la clave y descifrar los datos de comunicación TLS.

./matrixssl/matrixssl.c —> int32 matrixResumeSession(ssl_t *ssl)

Untitled

Untitled

Agregando salida de consola para depuración :

Untitled

Resultado de la prueba :

Untitled

Untitled

¡Usar MasterSecret todo ceros para descifrar!

Untitled

Descargar herramienta