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/eliot-code/cve-2026-52924
Analyse des VulnérabilitésExploitationArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubeliot-code/cve-2026-52924

CVE-2026-52924

Analyse technique de CVE-2026-52924, une vulnérabilité critique de type use-after-free dans la gestion des cookies obsolètes SCTP du noyau Linux, incluant la cause racine, le déroulement de l'attaque, le correctif et les méthodes de détection.

Voir le dépôt
il y a 10h 22mPas 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-2026-52924 : Use-After-Free SCTP dans la gestion des cookies obsolètes

Résumé de la vulnérabilité

Identifiant CVE : CVE-2026-52924
Gravité : CRITIQUE (CVSS 9.8)
Composant : Noyau Linux - SCTP (Stream Control Transmission Protocol)
Type : Use-After-Free (CWE-416, CWE-825)
Publié : 2026-06-24
Statut : Corrigé

Versions concernées

  • Noyau Linux < 5.10.259
  • Noyau Linux < 5.15.210
  • Noyau Linux < 6.1.176
  • Noyau Linux < 6.6.143
  • Noyau Linux < 6.12.94
  • Noyau Linux < 6.18.36
  • Noyau Linux < 7.0.13
  • Noyau Linux < 7.1

Détails techniques

Cause racine

La vulnérabilité se produit dans la gestion par la machine à états SCTP des paquets COOKIE-ECHO obsolètes. Le problème implique un nettoyage inapproprié de la file d'attente de flux sortant lorsqu'une association est annulée.

Déroulement de l'attaque

  1. Fonctionnement normal : L'association passe à l'état COOKIE_ECHOED
  2. Données utilisateur mises en file d'attente : L'application envoie des données, qui sont mises en file d'attente pour transmission
  3. Erreur de cookie obsolète : Le pair distant envoie une erreur de cookie obsolète
  4. Annulation déclenchée : L'association revient de COOKIE_ECHOED → COOKIE_WAIT
  5. État du flux mis à jour : sctp_stream_update() libère l'ancienne table de flux et en installe une nouvelle
  6. Pointeur invalide : stream->out_curr pointe toujours vers l'entrée sctp_stream_out libérée
  7. Accès de retrait de file : Lorsque l'ordonnanceur tente de retirer de la file (FCFS, RR, PRIO), il accède à out_curr->ext
  8. Use-After-Free : L'accès à la mémoire libérée provoque un crash du noyau détecté par KASAN

Flux de code problématique

root@kitploit:~
sctp_sf_do_5_2_6_stale():
  ├─ Réception de l'erreur de cookie obsolète
  ├─ Annulation de l'état de l'association
  └─ Appel de sctp_stream_update()
       ├─ Libération de l'ancienne table de flux
       ├─ Installation de la nouvelle table de flux
       └─ BUG : stream->out_curr NON invalidé ❌

Plus tard lors du retrait de file :
  sctp_sched_fcfs_dequeue():
    └─ Accès à stream->out_curr->ext  (MÉMOIRE LIBÉRÉE) 💥

Exemple de crash

root@kitploit:~
BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140
Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312
CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full)

Call trace:
  sctp_sched_fcfs_dequeue+0x13a/0x140
  sctp_outq_flush+0x1603/0x33e0
  sctp_do_sm+0x31c9/0x5d30
  sctp_assoc_bh_rcv+0x392/0x6f0
  sctp_inq_push+0x1db/0x270
  sctp_rcv+0x138d/0x3c10

Pourquoi une simple mise à jour de out_curr est insuffisante

Un correctif naïf pourrait consister à simplement effacer stream->out_curr :

root@kitploit:~
// CORRECTIF INSUFFISANT ❌
stream->out_curr = NULL;

Problème : La file de sortie contient toujours :

  • Des blocs de données en file d'attente référençant l'ancien état du flux
  • Des entrées de file de retransmission pointant vers les anciens flux
  • Des blocs de contrôle regroupés avec les anciennes métadonnées de flux

Ces références obsolètes provoqueront toujours un use-after-free lors de leur accès.

Le correctif approprié

Solution : Purger entièrement la file de sortie de l'association lors de la gestion des cookies obsolètes.

root@kitploit:~
// CORRECTIF APPROPRIÉ ✓
sctp_outq_free(&asoc->outqueue);

Cela garantit :

  1. Toutes les données de transmission en attente sont supprimées
  2. Toutes les entrées de file de retransmission sont libérées
  3. Les pointeurs mis en cache de l'ordonnanceur (out_curr, etc.) sont invalidés
  4. L'état du flux peut être reconstruit en toute sécurité lors du redémarrage COOKIE_WAIT
  5. Aucune référence pendante vers les entrées de flux libérées

Emplacement de l'implémentation

Fichier : net/sctp/sm_statefuns.c
Fonction : sctp_sf_do_5_2_6_stale()
Ajout : Appel de sctp_outq_free(&asoc->outqueue) avant sctp_stream_update()

root@kitploit:~
enum sctp_disposition sctp_sf_do_5_2_6_stale(...)
{
    // ... code existant ...
    
    // Purger la file de sortie avant de reconstruire l'état du flux
    sctp_outq_free(&asoc->outqueue);
    
    // Maintenant, la mise à jour du flux est sûre
    sctp_stream_update(&asoc->stream, &asoc->c.h_init_tag);
    
    // ... reste de la fonction ...
}

Analyse d'impact

Facteurs de gravité (CVSS 9.8)

  • Vecteur d'attaque : Réseau (CVSS:3.1/AV:N)
  • Complexité de l'attaque : Faible (CVSS:3.1/AC:L)
  • Privilèges requis : Aucun (CVSS:3.1/PR:N)
  • Interaction utilisateur : Aucune (CVSS:3.1/UI:N)
  • Portée : Inchangée (CVSS:3.1/S:U)
  • Impact sur la confidentialité : Élevé (CVSS:3.1/C:H)
  • Impact sur l'intégrité : Élevé (CVSS:3.1/I:H)
  • Impact sur la disponibilité : Élevé (CVSS:3.1/A:H)

Conditions d'exploitation

  1. Accès réseau au système cible (port SCTP ouvert)
  2. Capacité d'envoyer des paquets SCTP pour établir une connexion
  3. Envoi d'une erreur de cookie obsolète à un moment précis (état COOKIE_ECHOED)
  4. Déclenchement de l'opération de retrait de file de l'ordonnanceur

Scénarios d'attaque

  1. Déni de service : Crash répété du noyau → DoS
  2. Divulgation d'informations : Lecture de la mémoire du noyau via UAF
  3. Élévation de privilèges : Potentielle via la manipulation de la mémoire
  4. Exécution de code à distance : Possible avec une exploitation de corruption mémoire

Méthodes de détection

Détection KASAN (exécution)

root@kitploit:~
# Activer KASAN dans la configuration du noyau
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y

# La sortie à l'exécution montre :
BUG: KASAN: slab-use-after-free

Analyse statique

root@kitploit:~
# Rechercher les accès dangereux à stream->out_curr sans validation
grep -r "out_curr->ext" net/sctp/
grep -r "out_curr->" net/sctp/sched*.c

Détection réseau

  • Surveiller les paquets d'erreur SCTP Stale Cookie (Type 3, Code 1)
  • Suivre les schémas d'annulation de connexion
  • Alerter sur les transitions rapides COOKIE_ECHOED → COOKIE_WAIT

Stratégies d'atténuation

Atténuations temporaires (jusqu'au correctif)

  1. Désactiver SCTP : Supprimer le module SCTP ou bloquer les ports SCTP (132, 132 UDP)

    root@kitploit:~
    echo "install sctp /bin/true" >> /etc/modprobe.d/sctp-disable.conf
    
  2. Règles de pare-feu : Bloquer le trafic SCTP à la frontière du réseau

    root@kitploit:~
    iptables -A INPUT -p sctp -j DROP
    
  3. Version du noyau : Mettre à niveau vers les versions corrigées

    • 5.10.259+
    • 5.15.210+
    • 6.1.176+
    • 6.6.143+
    • 6.12.94+
    • 6.18.36+
    • 7.0.13+
    • 7.1+ (dernière)

Correctif permanent

Appliquer le correctif du noyau qui appelle sctp_outq_free() dans sctp_sf_do_5_2_6_stale().

Références

  • CWE-416 : Use After Free
  • CWE-825 : Expired Pointer Dereference
  • Calculateur CVSS : https://www.first.org/cvss/calculator/3.1
  • Entrée NVD : CVE-2026-52924
  • Sécurité du noyau Linux : https://www.kernel.org/doc/html/latest/security/

Recommandations de test

Tests unitaires

  1. Vérifier que sctp_outq_free() invalide correctement out_curr
  2. Vérifier que toutes les données en file d'attente sont libérées lors de outq_free
  3. Vérifier que la file de retransmission est effacée
  4. Tester le comportement de l'ordonnanceur après la purge de outq

Tests d'intégration

  1. Flux normal de récupération de cookie obsolète
  2. Données en vol lors de la réception du cookie obsolète
  3. Plusieurs cookies obsolètes rapides
  4. Différents ordonnanceurs SCTP (FCFS, RR, PRIO)

Tests de fuzzing

  1. Envoyer des paquets SCTP avec des erreurs de cookie obsolète
  2. Faire varier le moment de l'injection d'erreur
  3. Faire varier la quantité de données en vol
  4. Tester dans des conditions de charge élevée

Chronologie

  • 2026-06-24 : Vulnérabilité divulguée publiquement
  • Statut : Correctif disponible
  • Score EPSS : 0,3 % (27e percentile)
    • Faible probabilité d'exploitation
    • Nécessite des conditions réseau spécifiques
    • Peu d'exploits réels indexés

Auteur : Elliot Version du document : 1.0
Dernière mise à jour : 2026-09-07
Classification : Informations publiques

Télécharger l’outil