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-2021-3560 — Élévation de privilèges par race condition dans polkit | Kitploit
Outils/GitHubGitHub/adakoifman/cve-2021-3560
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationTests d'IntrusionRed TeamingExploitation de Binaires
GitHubadakoifman/cve-2021-3560

CVE-2021-3560

Élévation de privilèges par race condition dans polkit

Voir le dépôt
1il y a 2 moisPas 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-2021-3560

Élévation de privilèges via une condition de course dans polkit.

Description de la vulnérabilité

CVE-2021-3560 est une condition de course (race condition) dans polkit qui permet à un utilisateur local non autorisé d'obtenir les droits root. La vulnérabilité réside dans la manière dont polkit gère les erreurs D-Bus lors d'une interruption de la connexion.

Détermination du timing

Pour déterminer le timing optimal, exécutez la commande :

root@kitploit:~
time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:testuser string:"Test User" int32:1

Le code utilise une plage de la moitié du temps réel ± 0,003.

Pourquoi le timing est-il important ?

  • Si l'on tue le processus trop tôt — la requête n'a pas le temps d'être envoyée

  • Si l'on tue trop tard — polkit a le temps de vérifier l'autorisation et rejette la demande

  • Il faut atteindre la "fenêtre dorée", lorsque polkit a déjà reçu la requête mais n'a pas encore vérifié l'autorisation

Comment fonctionne l'exploit ?

  • Une requête D-Bus est envoyée pour créer un utilisateur avec le paramètre int32:1 (ajout au groupe wheel)

  • La requête est interrompue au milieu (condition de course)

  • Polkit n'a pas le temps de terminer la vérification de l'autorisation

  • D-Bus ne peut pas trouver l'expéditeur

  • Polkit gère incorrectement l'erreur et attribue UID = 0 (root)

  • L'utilisateur est créé sans authentification

  • Une requête est envoyée pour définir le mot de passe du nouvel utilisateur (avec le même timing)

Statistiques de réussite

  • L'utilisateur peut être créé en 1 à 2 tentatives

  • L'attribution du mot de passe nécessite davantage de tentatives

  • 100 itérations donnent une forte probabilité de succès

Si l'exploit ne fonctionne pas, essayez :

  • Élargir TIMING_RANGE dans le code

  • Exécuter le script plusieurs fois

  • Vérifier que vous êtes dans une session SSH (et non dans une session graphique)

Télécharger l’outil