flawopen.com/Teardowns/cve-2015-3306-proftpd-mod-copy-unauthenticated-file-copy
CVE-2015-3306: cópia não autenticada no mod_copy do ProFTPD
A CVE-2015-3306 permitia que clientes sem autenticação usassem comandos do mod_copy do ProFTPD para copiar arquivos no servidor. A correção upstream verifica a autenticação nos dois handlers SITE CPFR e SITE CPTO; a CISA incluiu a falha no KEV em 08/10/2026. Um comunicado conjunto do FBI/CISA/NSA e parceiros, publicado em 8 de outubro de 2026, lista a CVE-2015-3306 entre as CVEs exploradas com sucesso recuperadas dos scripts do MicroScan; não identifica uma vítima nem a data de um incidente para esta CVE.[1], [2], [5], [6]
Imagine um funcionário do arquivo que aceita de qualquer pessoa os pedidos “copie este arquivo” e “coloque a cópia aqui”. Não basta conferir apenas um pedido: as etapas de origem e destino precisam pertencer a uma sessão autenticada.[3]
Conceitos Centrais e Termos
SITE CPFR / SITE CPTO- Comandos do mod_copy do ProFTPD que selecionam a origem e o destino de uma cópia no servidor.[3], [5]
mod_copy- Módulo opcional do ProFTPD que implementa comandos de cópia de arquivos no servidor.[3], [5]
CWE-284- Controle de acesso inadequado: uma operação protegida pode ser alcançada sem a autorização exigida pela política.[1]
Mapeamentos de frameworks
- Referência CWE para a fraqueza descrita neste guia: CWE-284
- CISA KEV — adicionado em 2026-10-08 — CVE-2015-3306
Análise de Causa Raiz
Em implantações afetadas do ProFTPD 1.3.5 com mod_copy disponível e habilitado, os handlers copy_cpfr() e copy_cpto() aceitavam o caminho dos comandos SITE CPFR/SITE CPTO sem exigir uma sessão autenticada. A PR upstream #109 adicionou uma verificação do estado autenticado aos dois handlers após as verificações básicas de encaminhamento do comando, mas antes da validação do número mínimo de argumentos, do processamento dos caminhos de origem/destino e das operações de cópia, retornando FTP 530 / EPERM quando a sessão não está autenticada. O módulo continua limitado às permissões do sistema operacional do processo ProFTPD. Portanto, o impacto em arquivos depende dessas permissões e da configuração. O Debian descreveu execução arbitrária de código como possível, não automática; isso exige condições adicionais específicas, como um caminho gravável que seja consumido como código.[3], [5], [4]
Matriz operacional: exposição e verificação de pacotes corrigidos
| Estado da implantação | O que as fontes confirmam | Ação de defesa |
|---|---|---|
ProFTPD 1.3.5 com mod_copy disponível e habilitado | O registro do Ubuntu descreve leitura e gravação remotas de arquivos por SITE CPFR e SITE CPTO; o NVD lista ProFTPD 1.3.5 como afetado. | Confirme a compilação exata do pacote, o carregamento do módulo e a exposição dos comandos; atualize usando o pacote corrigido da distribuição. |
Correção upstream: PR #109 / commit 35b65aa | A correção adiciona verificações de autenticação a copy_cpfr() e copy_cpto() antes das operações de cópia. | Verifique se ambos os comandos rejeitam sessões não autenticadas; mantenha as permissões do sistema de arquivos como um limite separado. |
| Debian wheezy / jessie / stretch e sid | O Debian corrigiu essas ramificações nas versões 1.3.4a-5+deb7u3, 1.3.5-1.1+deb8u1 e 1.3.5-2, respectivamente. | Compare a revisão instalada do pacote Debian com a versão corrigida correspondente; não confie apenas no número da versão upstream. |
Suporte a CopyEngine off | O PR #109 adiciona a diretiva; a documentação do módulo informa compatibilidade a partir de 1.3.6rc1. | Use CopyEngine off quando a versão instalada oferecer suporte e o recurso não for necessário; caso contrário, remova o módulo ou atualize. |
Fluxo de Ataque Passo a Paso
Comandos de cópia não verificam autenticação
Antes da correção, CPFR e CPTO podiam prosseguir sem verificar o estado de autenticação da sessão.[3]
Correção protege as duas operações
A mudança upstream retorna um erro de autenticação em cada handler antes da lógica de cópia.[3]
Código-Fonte: Vulnerável vs. Seguro
O trecho vulnerável omite a verificação de autenticação em copy_cpfr(); o trecho corrigido insere a verificação upstream do estado da sessão antes da validação de argumentos e das alterações de estado. A PR #109 aplica a mesma proteção a copy_cpto(). Este é um trecho de código, não um programa independente.[3]
/* Trecho reduzido de copy_cpfr() antes do PR #109 upstream. */
if (cmd->argc < 3 ||
strncasecmp(cmd->argv[1], "CPFR", 5) != 0) {
return PR_DECLINED(cmd);
}
CHECK_CMD_MIN_ARGS(cmd, 3);
/* O tratamento do caminho de origem continua sem uma verificação de autenticação. */
/* Trecho reduzido da correção upstream de copy_cpfr(), PR #109. */
unsigned char *authenticated = NULL;
if (cmd->argc < 3 ||
strncasecmp(cmd->argv[1], "CPFR", 5) != 0) {
return PR_DECLINED(cmd);
}
authenticated = get_param_ptr(cmd->server->conf, "authenticated", FALSE);
if (authenticated == NULL || *authenticated == FALSE) {
pr_response_add_err(R_530, _("Please login with USER and PASS"));
pr_cmd_set_errno(cmd, EPERM);
errno = EPERM;
return PR_ERROR(cmd);
}
CHECK_CMD_MIN_ARGS(cmd, 3);
Lista de Verificação de Segurança para Engenharia
- ✓Atualize para um pacote ProFTPD ainda suportado pelo fornecedor e que contenha a correção; confirme backports da distribuição no aviso do fornecedor, sem depender apenas do número de versão upstream.[4], [5], [3]
- ✓Inventarie hosts com mod_copy compilado, carregado ou habilitado; se o recurso não for necessário, desative-o com CopyEngine off em versões compatíveis ou remova o módulo nas versões sem essa diretiva.[3], [5]
- ✓Em um ambiente de teste autorizado, confirme que SITE CPFR e SITE CPTO rejeitam sessões não autenticadas e que usuários autenticados não copiam além das permissões de arquivo previstas.[3]
- ✓Revise logs de FTP e integridade de arquivos para cópias inesperadas; avalie a exposição conforme o acesso da conta do serviço ao sistema de arquivos e aos caminhos usados por aplicações.
Fontes
- NVD — CVE-2015-3306, CWE-284 and CISA KEV status
- CISA Known Exploited Vulnerabilities Catalog — CVE-2015-3306
- ProFTPD upstream fix — PR #109, commit 35b65aa
- Debian Security Advisory DSA-3263-1
- Ubuntu security record — CVE-2015-3306
- FBI/CISA/NSA and partner agencies — AA26-281A joint advisory (2026-10-08)