
Combinação de XSS, redirecionamento SSO manipulável e validação insuficiente de parâmetros podia expor tokens de autenticação e permitir acesso indevido a contas da Epic Games.
| Componente | Plataforma online da Epic Games, fluxo de autenticação SSO e subdomínio antigo associado a estatísticas de jogos. |
| Vetor | Usuário autenticado era induzido a clicar em um link que combinava redirecionamento SSO para domínio permitido e execução de XSS em subdomínio vulnerável. |
| Impacto | O fluxo podia permitir captura de código ou token de autenticação, tomada de conta, acesso a informações da conta, compras com V-bucks e exposição de áudio de conversas no jogo. |
| Prioridade | Validar estritamente parâmetros de redirecionamento e de estado no SSO, corrigir XSS em subdomínios legados e revisar confiança entre subdomínios. |
| Artefatos | Parâmetros redirectUrl, state, client_id e productName; subdomínio legado ut2004stats[.]epicgames[.]com; provedores SSO como PlayStationNetwork, Xbox Live, Nintendo, Facebook e Google+. |
| Mitigação | A correção foi implantada pela Epic Games após divulgação responsável, com foco em impedir abuso do encadeamento entre redirecionamento, SSO e XSS. |
A falha descrita envolvia uma cadeia de vulnerabilidades na plataforma online da Epic Games que podia atingir jogadores do Fortnite sem exigir que eles digitassem credenciais em uma página falsa. O ponto central não era uma campanha tradicional de phishing por V-bucks, mas a combinação de um subdomínio antigo vulnerável a XSS com um fluxo de autenticação SSO que aceitava redirecionamentos e parâmetros de estado sem validação suficiente. Com isso, um operador poderia preparar um link, fazer a vítima autenticada passar pelo fluxo de login federado e receber de volta um código ou token útil para assumir a sessão da conta afetada.
O impacto técnico era relevante porque contas do Fortnite estão associadas a identidade do jogador, moeda virtual, histórico de compras, canais sociais e comunicação por voz durante partidas. A cadeia podia permitir acesso a informações pessoais da conta, compra de V-bucks, uso indevido da conta e, conforme o material analisado, escuta ou gravação de conversas em jogo e áudio de ambiente captado pelo canal de voz. A vulnerabilidade foi reportada à Epic Games e uma correção foi implantada, reduzindo a exposição para os jogadores após o processo de divulgação responsável.
A investigação começou em um subdomínio legado da Epic Games relacionado a estatísticas, identificado como ut2004stats[.]epicgames[.]com. Nesse ambiente havia uma rota de consulta a estatísticas de servidor que retornava erro quando recebia entrada inesperada. A resposta indicava a possibilidade de injeção SQL, e a presença de um WAF baseado em listas de bloqueio limitava algumas consultas. Ainda assim, a observação de diferenças de tamanho nas respostas permitia inferir comportamento do banco em testes controlados. Esse componente não era o estágio final da tomada de conta, mas ajudava a mapear a superfície legada e a qualidade de validação de entrada no subdomínio.
O ponto decisivo estava em uma página de mapas no mesmo subdomínio. O campo de busca refletia entrada do usuário na página, criando uma condição de XSS. Como o subdomínio pertencia ao espaço epicgames[.]com, a execução de JavaScript naquele contexto tinha valor maior do que um XSS isolado em domínio sem relação com autenticação. A cadeia dependia de fazer a vítima chegar ao subdomínio vulnerável por um caminho aceito pelo próprio mecanismo de login da Epic Games, mantendo aparência de fluxo legítimo e evitando a necessidade de coleta direta de senha por formulário falso.
O fluxo de SSO da Epic Games gerava URLs de login com o parâmetro redirectUrl, usado para levar o usuário de volta a uma página após autenticação. A implementação aceitava manipulação para redirecionar o usuário a páginas dentro do domínio curinga *.epicgames[.]com. Ao controlar esse destino, o operador podia apontar o retorno do SSO para o subdomínio vulnerável que continha o XSS. O parâmetro state, usado no processo federado para concluir autenticação, carregava um objeto codificado com informações como URL de redirecionamento, identificador de cliente e nome do produto. A validação insuficiente desse parâmetro permitia que o retorno do provedor SSO preservasse dados manipulados.
Na prova de conceito descrita no contexto, o provedor usado foi o Facebook, mas a mesma lógica foi considerada aplicável aos demais provedores integrados ao login da Epic Games, incluindo PlayStationNetwork, Xbox Live, Nintendo e Google+. Depois que o provedor retornava para accounts[.]epicgames[.]com com o código SSO e o state manipulado, o servidor da Epic Games finalizava o processo e redirecionava a vítima para o subdomínio com o XSS. Nesse momento, o script executado no subdomínio extraía o código ou token recebido no redirecionamento e o encaminhava para infraestrutura controlada pelo operador. O comando operacional e o payload foram omitidos por segurança; o ponto defensivo é que o segredo transitava por uma URL entregue a uma página vulnerável.
O CORS estava presente, mas não impediu a cadeia porque o abuso ocorria dentro da relação de confiança entre subdomínios da própria organização. Quando um subdomínio antigo e vulnerável permanece sob o mesmo domínio de uma aplicação moderna, políticas que parecem restritivas podem não bloquear o movimento se o navegador considerar a origem como parte do ecossistema esperado. A falha também evidencia que listas de bloqueio no WAF não substituem validação positiva de entrada, codificação correta de saída e controle rígido sobre destinos de redirecionamento.
A superfície afetada era composta por contas de jogadores que usavam o login da Epic Games e provedores SSO suportados pela plataforma. A pré-condição operacional era o usuário clicar em um link preparado pelo operador enquanto o fluxo de autenticação pudesse ser concluído, especialmente em cenários nos quais o usuário já estivesse autenticado no provedor federado. O ataque não dependia de a vítima inserir nome de usuário ou senha em página controlada pelo atacante, o que reduz sinais visíveis para o usuário e torna o encadeamento mais perigoso do que páginas falsas de promessa de V-bucks.
O subdomínio legado era parte crítica da exposição porque permanecia dentro do domínio confiável da Epic Games e continha uma funcionalidade de busca vulnerável. A existência de aplicações antigas em subdomínios corporativos amplia o risco de impacto cruzado: uma falha em sistema aparentemente periférico pode alcançar autenticação central, tokens, cookies, redirecionamentos ou APIs se a arquitetura conceder confiança ampla ao domínio. Para equipes de segurança, o caso mostra que inventário de subdomínios precisa considerar aplicações históricas, rotas pouco usadas, páginas de estatísticas e serviços que já não fazem parte do produto principal.
- Contas Fortnite vinculadas ao ecossistema de autenticação da Epic Games.
- Fluxos SSO com provedores como Facebook, Google+, PlayStationNetwork, Xbox Live e Nintendo.
- Subdomínio legado
ut2004stats[.]epicgames[.]comcom busca vulnerável a XSS. - Parâmetros de redirecionamento e estado aceitos sem validação suficiente no processo de autenticação.
A detecção defensiva deve se concentrar na correlação entre autenticação federada, redirecionamentos incomuns e acesso a subdomínios legados. Em logs de aplicação, eventos relevantes incluem uso anormal de redirectUrl apontando para serviços pouco esperados, valores de state com destinos internos que não fazem parte da lista oficial de retorno e sequências nas quais o provedor SSO retorna para a conta central e, em seguida, o navegador é direcionado para um subdomínio histórico. A presença de parâmetros de autenticação em requisições para páginas que não deveriam recebê-los é um sinal forte de falha de desenho ou tentativa de abuso.
Em telemetria web, o time deve procurar padrões de XSS refletido em campos de busca, respostas bloqueadas por WAF seguidas de tentativas bem-sucedidas com URLs encurtadas e acessos a páginas antigas com parâmetros longos ou codificados. A menção a URL encurtada no contexto mostra que controles baseados somente em tamanho ou assinatura de string podem ser contornados sem corrigir a vulnerabilidade de origem. Em endpoint e proxy, cliques que levam de uma página de login legítima para um subdomínio inesperado e depois para infraestrutura externa devem ser tratados como encadeamento suspeito, principalmente quando a navegação envolve tokens, códigos de autenticação ou parâmetros federados.
O hunting também precisa cobrir governança de domínios. Subdomínios esquecidos, aplicações de estatísticas, páginas de torneios e serviços de jogos antigos devem ser testados para XSS refletido, XSS armazenado, injeção SQL, resposta com erro detalhado e falta de cabeçalhos de segurança. Como o abuso dependia de confiança entre subdomínios, a telemetria deve diferenciar origens realmente necessárias para autenticação daquelas que nunca deveriam participar de fluxos de conta. Qualquer origem fora da lista de retorno aprovada que receba código SSO, parâmetro state ou redirecionamento pós-login merece investigação.
- Eventos de login SSO com
redirectUrlapontando para subdomínios legados ou páginas fora do fluxo esperado. - Parâmetros
statecom valores codificados contendo destinos não aprovados ou nomes de produto inconsistentes. - Requisições a páginas de busca com entrada refletida, caracteres de controle, codificação excessiva ou padrões de script omitidos por segurança.
- Redirecionamento pós-autenticação para
ut2004stats[.]epicgames[.]comou domínios internos que não deveriam receber tokens. - Acesso subsequente a infraestrutura externa após retorno do SSO, especialmente quando há URL encurtada ou domínio temporário defangado.
A mitigação principal é separar confiança de domínio de autorização de fluxo. Subdomínios não devem ser aceitos automaticamente como destinos seguros apenas por pertencerem ao mesmo domínio organizacional. O login deve usar lista positiva de URLs de retorno, validação estrita de esquema, host, caminho e produto, além de rejeitar qualquer redirectUrl ou state que não corresponda exatamente a clientes registrados. O parâmetro state deve ser tratado como dado sensível de integridade, assinado ou protegido contra adulteração, e validado no servidor antes de qualquer redirecionamento.
A correção de XSS exige codificação contextual de saída, validação de entrada e testes específicos em campos de busca, páginas antigas e componentes que refletem parâmetros na resposta. O WAF pode reduzir ruído, mas não deve ser a barreira primária. No caso descrito, a lógica de bloqueio baseada em listas e tamanho de URL não impediu a exploração quando o payload foi entregue por meio de URL encurtada. A aplicação precisa impedir a execução de script na origem vulnerável, não apenas bloquear variações conhecidas de payload.
Equipes responsáveis por identidade devem revisar fluxos OAuth e SSO para impedir vazamento de códigos em URLs acessíveis por páginas não confiáveis. Códigos de autorização precisam ter vida curta, escopo limitado, vinculação ao cliente correto e troca protegida no backend. Também é necessário auditar logs para tentativas anteriores de abuso, invalidar sessões suspeitas quando houver evidência de exposição e revisar permissões relacionadas a compra de moeda virtual e comunicação por voz. Como o contexto informa que a falha foi corrigida pela Epic Games, a prioridade operacional passa a ser usar esse caso como referência para auditorias em ambientes próprios com subdomínios legados e SSO compartilhado.
- Manter lista positiva rígida para URLs de retorno no SSO e rejeitar curingas amplos como política de confiança.
- Assinar e validar
stateno servidor, garantindo queclient_id, produto e destino pertençam ao mesmo registro autorizado. - Corrigir XSS com codificação de saída por contexto e testes automatizados em campos refletidos.
- Inventariar subdomínios antigos e remover, isolar ou atualizar aplicações sem manutenção ativa.
- Monitorar redirecionamentos pós-login para origens inesperadas e invalidar sessões associadas a sinais de captura de token.
- Configurar políticas de segurança do navegador, escopos mínimos e separação de origens para reduzir impacto de falhas em subdomínios.
0 Comentários