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
cve-2017-8890-msf — Pour la demande d'extraction (pull request) de Metasploit | Kitploit
Outils/GitHubGitHub/7043mcgeep/cve-2017-8890-msf
Frameworks d'ExploitationAnalyse des VulnérabilitésExploitationExploitation de Binaires
GitHub7043mcgeep/cve-2017-8890-msf

cve-2017-8890-msf

Pour la demande d'extraction (pull request) de Metasploit

Voir le dépôt
11il y a 7 ansPas 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

Module: Phoenix Talon CVE 2017-8890

Ceci peut résoudre le problème #8571, qui demande des modules Phoenix Talon.

Aperçu de 2017-8890

Cette CVE :

  • est le membre le plus grave de la classe Phoenix Talon des vulnérabilités du noyau Linux. Aucun POC de cette CVE n'existe dans l'Exploit DB. Mais d'autres POC publics sont disponibles.
  • n'est pas très bien documentée. Mais voici une courte explication pour vous donner une compréhension générale de la vulnérabilité.
  • existe dans toutes les versions du noyau jusqu'à 4.10.15, bien que certaines sources disent qu'il existe jusqu'à 4.11. Voir le commit du correctif ici.
  • est le résultat d'un défaut dans la pile IPv4 du noyau (spécifiquement, multicast).

Sur la machine cible, un double-free est déclenché en raison du noyau qui conserve une copie supplémentaire de mc_list au moment de accept().

Pseudo-code avec explications :

Une machine exécutant un noyau 4.10.15 et inférieur est à risque si elle exécute la routine suivante :

root@kitploit:~
sockfd = socket(AF_INET, xx, IPPROTO_TCP);
setsockopt(sockfd, SOL_IP, MCAST_JOIN_GROUP, xxxx, xxxx);
bind(sockfd, xxxx, xxxx);
listen(sockfd, xxxx);
newsockfd = accept(sockfd, xxxx, xxxx);
close(newsockfd);  // trigger release calls, handoff to RCU
sleep(5);          // wait for rcu to free()
close(sockfd);     // second free()

Le socket parent, sockfd, est créé. Il est ajouté au groupe multicast avec l'option MCAST_JOIN_GROUP. En ajoutant le socket au groupe multicast sur l'interface locale, le noyau alloue de la mémoire. À ce stade, mc_list existe dans le socket parent.

Après qu'une adresse a été assignée au socket avec bind(), listen() pour la connexion et accept(). accept() crée un nouveau socket, newsockfd, auquel tous les champs nécessaires du parent sont copiés, y compris la valeur du pointeur mc_list. À ce stade, il y a plusieurs pointeurs pointant vers le même bloc de mémoire, d'où le double free.

Lorsque la connexion est établie, le noyau crée un socket enfant qui hérite de l'objet mc_list du socket parent. Ce défaut d'héritage se trouve dans inet_csk_clone_lock à la ligne 648 du fichier net/ipv4/inet_connection_sock.c. Consultez le correctif pour voir la correction d'une ligne pour cet héritage non intentionnel.

Ensuite, fermez le socket enfant. Comme expliqué ci-dessus, cela ne libère pas l'objet mc_list. Il passe par la structure RCU (remote-copy-update) pour libérer la mémoire. sleep() pendant quelques secondes pour s'assurer que le transfert RCU a suffisamment de temps pour appeler kfree(). Enfin, fermez le socket parent, ce qui déclenchera le second free.

Le Module

DoS simple. Déclenchez à distance un double-free sur une machine cible connue exécutant la routine serveur requise (expliquée ci-dessus). Cela provoque un kernel panic.

Télécharger l’outil