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
details-for-CVE-2022-46505 — Bogue de reprise de session MatrixSSL | Kitploit
Outils/GitHubGitHub/smalltown123/details-for-cve-2022-46505
Analyse des VulnérabilitésExploitationCryptographieAnalyse de BinairesApprentissage et Éducation
GitHubsmalltown123/details-for-cve-2022-46505

details-for-CVE-2022-46505

Bogue de reprise de session MatrixSSL

Voir le dépôt

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
il y a 3 ansPas encore vérifié

Détails pour CVE-2022-46505

Bug de reprise de session MatrixSSL

1. Description du bug

Un problème dans MatrixSSL 4.5.1-open et versions antérieures conduit à une vérification non sécurisée du champ SessionID, entraînant l'utilisation d'un MasterSecret tout à zéro qui peut décrypter des données secrètes.

2. Version concernée

MatrixSSL 4.5.1-open et versions antérieures

3. Type de vulnérabilité

Décryptage de session de reprise TLS

4. Détails du bug

Le serveur matrixssl stocke les informations de session négociées via une liste.

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;

Les quatre premiers octets du champ SessionID sont un nombre de séquence little-endian allant de 0 à 31.

Sans titre

Matrixssl détermine si la session est une session de reprise en faisant correspondre la longueur de l'ID de session reçu avec l'index rapide de quatre octets.

Cependant, lorsque la liste de stockage est initialisée, MasterSecret est tout à zéro.

Par conséquent, le Client malveillant peut envoyer un SessionID d'un octet pour une reprise de session avec MasterSecret tout à zéro. Lorsque le serveur reçoit un sessionid d'un seul octet, les octets suivants prennent par défaut la valeur 0. Ainsi, il peut être validé et indexé dans la liste, et le MasterSecret correspondant à ce numéro de séquence dans la liste peut encore être 0. Si cela se produit, nous pouvons calculer la clé et décrypter les données de communication TLS.

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

Sans titre

Sans titre

Ajout d'une sortie console pour le débogage :

Sans titre

Résultat du test :

Sans titre

Sans titre

Utilisation d'un MasterSecret tout à zéro pour décrypter !

Sans titre

Télécharger l’outil