Drupal core - Highly critical - Remote Code Execution - SA-CORE-2018-004
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
CVE-2018-7602 é uma segunda vulnerabilidade de execução remota de código no núcleo do Drupal 7.x e 8.x, descoberta poucas semanas depois da correção da famosa 'Drupalgeddon2' (CVE-2018-7600/SA-CORE-2018-002). O próprio Drupal descreve que o patch original não cobriu todos os subsistemas afetados pela mesma classe de falha, deixando vetores de ataque adicionais abertos mesmo em sites já corrigidos para a SA-CORE-2018-002. Está no catálogo KEV da CISA com exploração confirmada in the wild e PoCs públicos, o que a torna prioridade de correção imediata para qualquer instância legada de Drupal 7 ou 8 ainda ativa.
Detalhamento técnico
A falha reside em múltiplos subsistemas do núcleo do Drupal (o advisory oficial não lista todos publicamente, para não facilitar exploração antes da adoção ampla do patch) que processam estruturas de dados como render arrays sem sanitização adequada. É a mesma classe de problema que gerou a Drupalgeddon2 original: a Form API do Drupal permite que valores enviados por formulários sejam interpretados como arrays de renderização, cujas chaves especiais (como propriedades de callback usadas pelo sistema de renderização) podem acionar execução de código PHP quando o conteúdo é atacante-controlado e não é filtrado antes de chegar ao renderizador.
Como é explorada
O vetor de CVSS publicado (AC:L, PR:N, UI:N) indica exploração via rede, sem necessidade de autenticação e sem interação do usuário, atingindo formulários ou rotas específicas do Drupal expostas publicamente. O ponto crítico de pré-condição documentado pelo próprio Drupal é inverso ao que a maioria assume: os patches de correção desta CVE só funcionam corretamente se o site já tiver aplicado a correção da SA-CORE-2018-002 antes. Um site que nunca aplicou a correção da Drupalgeddon2 original pode já estar comprometido por aquela falha, e aplicar apenas o patch da SA-CORE-2018-004 sem a base anterior não resolve o problema.
Versões
Como se proteger
A correção definitiva é atualizar para Drupal 7.59, 8.4.8 (release extraordinária para uma branch já sem suporte, liberada especificamente para permitir atualização imediata antes de migrar para 8.5.x) ou 8.5.3, conforme a série em uso. Quem não pode atualizar de imediato pode aplicar os patches oficiais disponibilizados pelo Drupal Security Team para 7.x e 8.x, mas esses patches pressupõem que a correção da SA-CORE-2018-002 já esteja em vigor — aplicá-los isoladamente, sem a base anterior, não fecha a falha e pode mascarar um comprometimento pré-existente. Distribuições Linux com pacotes próprios do Drupal7 (Debian) publicaram builds corrigidas: 7.14-2+deb7u19 (Wheezy/LTS), 7.32-1+deb8u12 (Jessie) e 7.52-2+deb9u4 (Stretch).
Como detectar
Não há, nas fontes analisadas, uma assinatura de rede específica publicada pelo fornecedor para esta CVE em particular. Como a falha é da mesma família da Drupalgeddon2, sinais úteis incluem: presença de arquivos PHP inesperados em diretórios de upload (sites/default/files), contas de administrador criadas sem trilha de auditoria correspondente, requisições POST anômalas contendo estruturas de array em campos de formulário tipicamente escalares, e picos de tráfego para endpoints de formulário do Drupal originados de scanners automatizados — padrão comum de exploração em massa observado logo após a divulgação da falha em 2018.