Página maliciosa executa comandos no Paperclip local por DNS rebinding
No modo local_trusted, o Paperclip concede acesso administrativo às requisições sem exigir autenticação e não valida o domínio enviado no cabeçalho Host. Com DNS rebinding, uma página maliciosa faz o navegador alcançar o servidor local mantendo o mesmo domínio de origem. O atacante consegue importar um agente com o adaptador process e acionar sua execução. Como esse adaptador executa comandos sem isolamento, o ataque permite ler ou alterar arquivos com as permissões do usuário do sistema que iniciou o Paperclip.
Casos de uso afetados
- Você mantém o Paperclip em execução no computador, no modo padrão local_trusted, e abre uma página controlada pelo atacante. Essa visita permite iniciar o ataque, sem credenciais ou interação adicional na página.
- Na sua instalação local, o processo do Paperclip tem acesso ao código-fonte ou às chaves SSH. A execução de comandos pelo adaptador process pode expor esses arquivos ou permitir sua alteração, conforme as permissões desse processo.
Confira na sua instância
Confira a versão instalada e o valor de deploymentMode na configuração usada pelo servidor. Com o acesso normal à sua instância funcionando, teste a validação do Host usando uma consulta de leitura: curl -s -o /dev/null -w '%{http_code}' -H 'Host: conferencia.invalid' http://127.0.0.1:3100/api/companies. Ajuste a porta caso sua instalação use outra. Uma resposta 200 no modo local_trusted mostra que o servidor aceitou um domínio externo nesse endpoint. A validação sugerida no aviso deve recusar esse domínio e preservar o acesso pelos nomes locais autorizados. Essa conferência verifica a aceitação do Host, sem importar agentes nem executar comandos pelo Paperclip.
Versões afetadas e correções
| Linha | Afetadas | Corrigidas |
|---|---|---|
| Paperclip | <0.3.1 | Não informadas |
O campo patched_versions está vazio na fonte. O limite <0.3.1 identifica a faixa afetada, mas não confirma que a versão 0.3.1 contenha a correção. O comunicado sugere habilitar a validação do Host no modo local_trusted. Ele descreve uma falha distinta do desvio na importação em modo authenticated.
