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-5123 — Exploit du noyau Linux | Kitploit
Outils/GitHubGitHub/floatingguy/cve-2017-5123
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de Binaires
GitHubfloatingguy/cve-2017-5123

CVE-2017-5123

Exploit du noyau Linux

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

CVE-2017-5123

Escalade de privilèges sous Linux exploitant l'appel système waitid. Cet exploit vous est présenté par @XeR_0x2A et @chaign_c de HexpressoTeam à des fins éducatives uniquement.
Le bogue a été introduit le 2017-05-21 et corrigé le 2017-10-09 ; 4.14.0-rc4+ est connu comme vulnérable.

asciicast

Si vous avez un niveau débutant/intermédiaire en écriture d'exploits, nous vous encourageons à l'exploiter vous-même avant de lire notre implémentation. C'est un très bon exercice avec une primitive d'exploit simple (écriture arbitraire dans la mémoire du noyau accessible en écriture).
Nous lançons également un défi à @LiveOverflow pour qu'il essaie.

Voici la description :

oss-security :
Bonjour,

Chris Salls a découvert que lorsque l'appel système waitid() dans le noyau Linux
v4.13 a été refactorisé, il a accidentellement cessé de vérifier que
l'argument entrant pointait vers l'espace utilisateur. Cela a permis à des
attaquants locaux d'écrire directement dans la mémoire du noyau, ce qui pourrait mener à
une escalade de privilèges.

Introduit par ce commit :
https://git.kernel.org/linus/4c48abe91be03d191d0c20cc755877da2cb35622

Corrigé avec ce commit dans l'arbre principal :
https://git.kernel.org/linus/96ca579a1ecc943b75beba58bebb0356f6cc4b51

Cela devrait être corrigé dans la version -stable (future v4.13.7) bientôt :
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.13.y

Merci,

Spoiler !

waitid :
waitid -- attendre qu'un processus enfant change d'état.

root@kitploit:~
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);

Le noyau ne vérifie pas si infop est un pointeur du noyau ou de l'espace utilisateur, donc nous pouvons écraser la mémoire de n'importe quelle page mémoire du noyau avec des permissions d'écriture. La partie amusante est que nous ne contrôlons que partiellement ce qui est écrit.
Il y a plus d'un millier de façons d'exploiter cela. Nous avons décidé de transformer cette primitive d'écriture en un déréférencement de pointeur nul. Nous avons écrasé la variable have_canfork_callback dans la section .BSS du noyau. Mettre cette variable à autre chose que 0 (vrai) entraînera l'appel d'un callback non défini (nul) "appelé sur une nouvelle tâche avant que le processus ne soit exposé".

Merci à Chris Salls et @kees_cook pour avoir partagé le CVE.

Premier exploit "réel" du noyau Linux de @XeR_0x2A et @chaign_c de HexpressoTeam.

[email protected]
[email protected]

2017-10-22

Télécharger l’outil