
Vulnerabilidade já corrigida no processo de identificação da DJI podia expor conta, dados de voo sincronizados, fotos de drones e informações de localização a partir de interação com link malicioso no fórum.
| Componente | Processo de identificação da DJI entre fórum, site, aplicativo móvel e FlightHub, com uso de OAuth entre subdomínios. |
| Vetor | Usuário autenticado no DJI Forum clicava em link malicioso plantado dentro do próprio fórum, explorando reflexão do parâmetro message em requisição do forum.php. |
| Impacto | Acesso não autorizado à conta DJI e a dados sincronizados, incluindo registros de voo, fotos de drones e informações derivadas de logs de voo. |
| Prioridade | Confirmar aplicação da correção, revisar sessões e fluxos de autenticação entre subdomínios, e monitorar acessos anômalos a conta, aplicativo e FlightHub. |
| Artefatos | Foram citados forum[.]dji[.]com, account[.]dji[.]com, mobile.php, token, member_uid, meta-key e o parâmetro mck no fluxo de autenticação. |
| Condição | A exploração dependia de usuário autenticado no fórum e interação com link preparado; a DJI classificou o caso como alto risco e baixa probabilidade. |
Uma vulnerabilidade no ecossistema de autenticação da DJI permitia que um invasor obtivesse acesso à conta de um usuário sem que a vítima percebesse a troca de contexto entre serviços. O problema estava associado ao processo de identificação usado entre diferentes propriedades online da empresa, incluindo fórum, site, aplicativo móvel e FlightHub. A exploração descrita partia do DJI Forum, onde um usuário já autenticado poderia ser induzido a clicar em um link preparado dentro do próprio ambiente do fórum. A partir dessa interação, o atacante conseguiria capturar material de sessão suficiente para autenticar-se em outros ativos online vinculados à mesma identidade.
O impacto técnico não se limitava ao fórum. A conta DJI centralizava acesso a dados sensíveis gerados por drones e serviços associados, incluindo voos registrados, imagens capturadas, informações de posição e metadados derivados de logs. Como drones DJI são usados por consumidores e também por setores corporativos, como infraestrutura crítica, manufatura, agricultura, construção e gestão de emergências, a exposição de conta poderia revelar trajetórias, locais de operação, imagens aéreas e pontos relacionados à atividade de campo. A falha foi comunicada à DJI em março de 2018, foi corrigida posteriormente e não havia evidência de exploração fora do ambiente de pesquisa informado no contexto.
A cadeia começava no DJI Forum, serviço hospedado em forum[.]dji[.]com. O ambiente aceitava publicações com links restritos a conteúdo do próprio fórum, o que reduziria, em tese, a possibilidade de redirecionar usuários para infraestrutura externa maliciosa. A falha, porém, residia no fato de que um endpoint do próprio fórum refletia o conteúdo do parâmetro message na resposta. Essa reflexão permitia a construção de uma condição de execução de script no contexto do domínio legítimo. Como o link ficava dentro do escopo permitido pelo fórum, a restrição de links externos não eliminava o vetor.
O mecanismo explorado envolvia manipulação do comportamento de uma resposta associada ao forum.php, sem necessidade de publicar aqui qualquer payload reproduzível. A condição relevante para defesa é que conteúdo controlado pelo atacante era refletido em uma página acessada pela vítima autenticada. Quando o navegador processava a resposta, o código injetado operava no contexto do fórum e podia alcançar elementos do fluxo de sessão. O artefato de maior interesse era uma meta-key associada à identidade do usuário, que posteriormente podia ser reutilizada em outros subdomínios para contornar a necessidade de credenciais interativas.
A arquitetura de login usava OAuth para transitar a autenticação entre subdomínios, como o domínio de conta e o fórum. Durante a análise do fluxo, foi observado que uma requisição a mobile.php retornava informações sensíveis do usuário de teste, incluindo nome de usuário, member_uid, token e outros campos. No subdomínio account[.]dji[.]com, a meta-key aparecia como mck, e sua presença no fluxo permitia autenticar a sessão em propriedades associadas. O risco central, portanto, estava na combinação entre execução no domínio do fórum e confiança compartilhada entre serviços do ecossistema.
A análise do aplicativo móvel mostrou que o mesmo problema podia alcançar a experiência mobile, embora houvesse barreiras adicionais. O aplicativo dji.go.v4 empregava proteção contra inspeção de tráfego, incluindo SSL pinning, e também usava mecanismo de proteção de aplicativo móvel que dificultava a descompilação e a instrumentação. A pesquisa descreveu bypass dessas barreiras para observação defensiva do fluxo, mas o ponto operacional relevante é que o aplicativo enviava credenciais para /apis/apprest/v1/email_login e recebia uma resposta usada para manter a sessão. Uma vez obtida a conta por meio da vulnerabilidade no processo de identificação, o atacante poderia acessar dados sincronizados pelo aplicativo, sem depender de posse física do drone.
A superfície exposta abrangia usuários com conta DJI que acessavam o fórum autenticados e interagiam com links maliciosos apresentados como conteúdo interno. O risco era ampliado pela natureza comunitária do fórum, no qual muitos usuários compartilham mensagens e links sobre produtos, suporte, voos e imagens. Mesmo sem infraestrutura externa, uma publicação criada para explorar a reflexão poderia circular organicamente entre usuários, porque o endereço aparentava pertencer ao ambiente legítimo. Essa característica reduz sinais óbvios de fraude para a vítima e desloca a detecção para comportamento de sessão e resposta HTTP.
A exposição também alcançava organizações que usavam drones DJI em atividades com contexto operacional sensível. Os logs de voo podiam permitir inferências sobre rota, localização inicial, última localização conhecida, ângulo de captura de imagens e posição associada a fotos. Em ambientes corporativos, esses dados podem revelar áreas inspecionadas, rotinas de patrulha, canteiros de obra, instalações industriais, zonas agrícolas ou eventos de resposta emergencial. O contexto não sustenta afirmação de vazamento em massa nem exploração ativa, mas sustenta risco de acesso indevido a dados da conta quando a cadeia fosse acionada com sucesso.
A vulnerabilidade já havia sido corrigida quando o caso foi publicado, e a própria classificação descrita foi de alto risco com baixa probabilidade. Isso não elimina a utilidade técnica do caso: ele demonstra que controles de domínio permitido, OAuth entre subdomínios e proteções mobile podem falhar quando um serviço periférico, como fórum, compartilha confiança com serviços centrais de conta. A superfície real de risco está na identidade federada e nos tokens transitivos, não apenas no endpoint vulnerável isolado.
- Usuários autenticados no DJI Forum que clicassem em link preparado dentro do próprio domínio do fórum.
- Contas DJI com dados sincronizados entre site, aplicativo móvel e FlightHub.
- Registros de voo, fotos de drones, localização residencial configurada como ponto de retorno e última localização conhecida do equipamento.
- Fluxos OAuth entre subdomínios que aceitavam artefatos de autenticação derivados da sessão do fórum.
A investigação defensiva deve priorizar correlação entre navegação no fórum, emissão de tokens e acesso subsequente a propriedades de conta. Em logs web, o sinal mais específico é uso incomum de rotas do fórum que reflitam parâmetros controlados pelo usuário, especialmente quando seguido por autenticação em account[.]dji[.]com, acesso a dados do aplicativo ou consulta a recursos do FlightHub. Como a exploração dependia de interação da vítima, a linha do tempo tende a mostrar clique em conteúdo do fórum, execução de sessão no navegador e, em seguida, eventos de login ou troca de token que não correspondem ao padrão usual do usuário.
Em ambientes corporativos que integraram drones a processos internos, a telemetria útil inclui acessos fora de horário a contas DJI, mudança súbita de endereço IP, uso de sessão nova sem autenticação interativa esperada, downloads ou visualizações de registros de voo e acesso a imagens pouco depois de atividade no fórum. Para usuários individuais, sinais defensivos incluem alertas de login, sessões desconhecidas, alterações de perfil e visualizações de histórico de voo não reconhecidas. O caso também recomenda examinar se um serviço comunitário ou de suporte possui capacidade de emitir, refletir ou reutilizar tokens que sejam aceitos por serviços de maior sensibilidade.
No aplicativo móvel, a análise deve se concentrar em chamadas de autenticação e respostas que contenham campos sensíveis, sem tentar reproduzir técnicas de bypass. Registros de proxy corporativo, MDM, EDR móvel ou gateway seguro podem indicar comunicação incomum com endpoints de login e sincronização após navegação no fórum. Quando o tráfego TLS não puder ser inspecionado por política, ainda é possível usar metadados: horário, destino, volume, dispositivo, versão do aplicativo e sequência de domínios. A ausência de payload público nos registros não deve encerrar a apuração se houver encadeamento de eventos coerente com sequestro de sessão.
- Requisições incomuns ao
forum.phpcom parâmetromessagee sequência imediata de autenticação em serviços de conta. - Acessos a
mobile.phpou endpoints de login associados a emissão de token fora do padrão do usuário. - Sessões novas em site, aplicativo ou FlightHub após interação com conteúdo do fórum.
- Consulta ou download de registros de voo, fotos sincronizadas e dados de localização em horários ou origens anômalas.
A ação principal é garantir que a correção disponibilizada pela DJI esteja aplicada no serviço afetado e que clientes corporativos não dependam de versões antigas ou fluxos legados de autenticação. Como a falha envolvia confiança entre subdomínios, a mitigação deve incluir revisão do desenho de sessão: tokens emitidos para fórum não devem servir como material suficiente para autenticar serviços de maior sensibilidade, parâmetros refletidos precisam de codificação contextual adequada, e respostas com dados sensíveis não devem ser acessíveis por simples posse de artefato de sessão obtido em domínio menos crítico.
Para organizações que operam drones DJI em áreas sensíveis, a resposta defensiva deve combinar correção do fornecedor, higiene de conta e revisão de dados já sincronizados. É prudente invalidar sessões antigas quando houver suspeita de interação com links maliciosos, revisar atividades recentes em conta e aplicativo, e avaliar quais registros de voo ou imagens foram acessados. Se contas forem compartilhadas por equipe, a investigação deve separar uso legítimo de atividade anômala por horário, origem de rede, dispositivo e sequência de ações. A mitigação também deve reforçar que fóruns, portais de suporte e comunidades oficiais fazem parte da superfície de identidade quando compartilham sessão com produtos principais.
Do ponto de vista de engenharia segura, o caso reforça controles conhecidos, mas frequentemente negligenciados: validação e codificação de saída para qualquer parâmetro refletido, isolamento de cookies e tokens por domínio e finalidade, redução de dados sensíveis em respostas auxiliares, rotação de tokens após falhas de XSS e uso de escopos explícitos no OAuth. Proteções mobile como SSL pinning aumentam o custo de análise, mas não compensam falhas de autenticação no backend. O controle mais robusto é impedir que um artefato obtido em um serviço de baixa criticidade consiga abrir sessão completa em serviços que armazenam imagens, telemetria e histórico operacional.
- Confirmar que a vulnerabilidade corrigida não permanece em ambientes, integrações ou fluxos legados associados à conta DJI.
- Invalidar sessões suspeitas e revisar acessos recentes a site, aplicativo móvel e FlightHub quando houver indício de clique em link malicioso.
- Aplicar isolamento de tokens por serviço, escopo e finalidade, evitando reutilização de artefatos do fórum em ativos sensíveis.
- Monitorar acessos a registros de voo e imagens sincronizadas, correlacionando origem, horário, dispositivo e sequência de autenticação.
0 Comentários