Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
details-for-CVE-2022-46505 — MatrixSSL bug de retomada de sessão | Kitploit
Ferramentas/GitHubGitHub/smalltown123/details-for-cve-2022-46505
Análise de VulnerabilidadesExploraçãoCriptografiaAnálise de BináriosAprendizado e Educação
GitHubsmalltown123/details-for-cve-2022-46505

details-for-CVE-2022-46505

MatrixSSL bug de retomada de sessão

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
há 3 anosAinda não revisado

detalhes-para-CVE-2022-46505

MatrixSSL bug de retomada de sessão

1. Descrição do bug

Um problema no MatrixSSL 4.5.1-open e anteriores leva à falha em verificar seguramente o campo SessionID, resultando no mau uso de um MasterSecret todo zero que pode descriptografar dados secretos.

2. Versão afetada

MatrixSSL 4.5.1-open e anteriores

3. Tipo de vulnerabilidade

descriptografia de retomada de sessão tls

4. Detalhes do bug

O servidor matrixssl armazena informações de sessão negociadas através de uma 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;

Os primeiros quatro bytes do campo SessionID são um número de sequência little-endian variando de 0 a 31.

Untitled

O Matrixssl determina se a sessão é uma retomada de sessão ao comparar o comprimento do ID de sessão recebido com o índice rápido de quatro bytes.

No entanto, quando a lista de armazenamento é inicializada, o MasterSecret é todo zero.

Portanto, o Cliente malicioso pode enviar um SessionID de um byte para retomada de sessão com MasterSecret todo zero. Quando o servidor recebe um sessionid de um único byte, os bytes seguintes são padrão 0. Assim, ele pode ser validado e indexado à lista, e o MasterSecret correspondente àquele número de sequência na lista pode ainda ser 0. Se isso acontecer, podemos calcular a chave e descriptografar os dados de comunicação TLS.

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

Untitled

Untitled

Adicionando saída de console para depuração :

Untitled

Resultado do teste :

Untitled

Untitled

Use MasterSecret todo zero para descriptografar !

Untitled

Baixar ferramenta