Nos últimos dias rodaram nos sites de notícias a informação de que Mario Kart 7, após 10 anos, recebeu uma nova atualização (versão 1.2). A última atualização de Mario Kart 7 corrigia bug grave que persistia por anos.
No site oficial da Nintendo eles quase nunca relatam os detalhes do que é corrigido ou alterado em atualizações dos seus jogos, resumindo apenas às mensagens genéricas como “lida com diversos problemas para aprimorar a experiência de gameplay”, o que nem sempre é verdade.
Como jogos como Mario Kart e toda a linha de 3DS encontram-se descontinuados, não há desenvolvimento nem aprimoramento de gameplay.
No entanto, problemas como bugs e exploits ainda podem ser corrigidos, dependendo da gravidade do problema e este é o caso.
Bug grave em Mario Kart 7 permitia sequestro do console
Foi descoberto pelo membro da comunidade PabloMK7 que Mario Kart 7 possuía um exploit que possibilitava a execução remota de um código malicioso.
Esse exploit podia ser usado para tomar controle completo do console, permitindo ao atacante roubar dados sensíveis do usuário, além de poder gravar voz e vídeo de um dispositivo vítima de modo completamente remoto.
O exploit foi corrigido na última atualização do Mario Kart 7 e aparenta estar presente em diversos outros jogos first party da Nintendo. Muitos deles já foram corrigidos, mas outros não.
Em seu Github, PabloMK7 detalha a forma como o exploit funciona e também em quais jogos ele foi identificado.
ENLBufferPwn, um exploit perigoso
ENLBufferPwn é uma vulnerabilidade no código de rede comum de vários jogos originais da Nintendo desde o Nintendo 3DS que permite que um invasor execute código remotamente no console da vítima apenas tendo um jogo online com eles (execução remota de código).
Foi descoberto por várias pessoas independentemente (pessoas ligadas ao romhacking e à modificações de jogos) durante 2021 e relatado à Nintendo durante 2021 e 2022. Desde o relatório inicial, a Nintendo corrigiu a vulnerabilidade em muitos jogos vulneráveis, tornando mais seguro a divulgação de seu funcionamento.
Lista de jogos afetados pelo exploit:
- Mario Kart 7 (corrigido na versão v1.2)
- Mario Kart 8 (ainda não corrigido)
- Mario Kart 8 Deluxe (corrigido na versão v2.1.0)
- Animal Crossing: New Horizons (corrigido na versão v2.0.6)
- ARMS (corrigido na versão v5.4.1)
- Splatoon (ainda não corrigido)
- Splatoon 2 (corrigido na versão v5.5.1)
- Splatoon 3 (corrigido no fim de 2022, versão exata desconhecida)
- Super Mario Maker 2 (corrigido na versão v3.0.2)
- Nintendo Switch Sports (corrigido no fim de 2022, versão exata desconhecida)
- Provavelmente mais jogos afetados…
Funcionamento do ENL BUFFERPWN no Mario Kart 7
O vídeo a seguir mostra um caso grave de vulnerabilidade em Mario Kart 7, onde um console controlado por um invasor (lado esquerdo) assume totalmente o controle de um console não modificado (lado direito).
A única interação feita pelo usuário é entrar em uma sessão de jogo online com o atacante, neste caso, usando o recurso “comunidades” (observe que uma “comunidade” foi usada para testar a vulnerabilidade com segurança de forma isolada e não afetar nenhuma outra usuários jogando em lobbies públicos).
O controle é feito copiando uma carga ROP para o console remoto e, em seguida, executando-a.
Essa carga ROP usa outras vulnerabilidades no sistema operacional para escalar privilégios e obter controle total.
No vídeo, o console remoto é forçado a executar um instalador CFW (SafeB9SInstaller). Usando as mesmas técnicas, seria teoricamente possível roubar informações de conta/cartão de crédito ou fazer gravações de áudio/vídeo não autorizadas usando o microfone/câmeras integrados ao console.
No Mario Kart 8 do Wii U
O vídeo a seguir mostra um caso grave da vulnerabilidade no Mario Kart 8 para o Wii U, onde o código que imprime uma mensagem personalizada é executado remotamente em um console Wii U (em segundo plano) fazendo com que ele se conecte a um jogador simulado por meio de um PC utilitário (canto inferior direito).
A única interação feita pelo usuário é entrar em uma sessão de jogo online com o atacante, neste caso, usando o recurso “amigos” (note que uma “sala de amigos” foi usada para testar a vulnerabilidade com segurança de forma isolada e não afetar nenhum outros usuários jogando em lobbies públicos).
A execução remota de código é realizada da mesma forma que em Mario Kart 7: uma carga ROP é enviada para o console remoto e, em seguida, executada substituindo a pilha.
Embora este vídeo não mostre o controle total do console, é possível combinar a carga ROP com outras vulnerabilidades para alcançá-lo.
Última atualização para o jogo saiu em 2012
Como o Nintendo 3DS se trata de um console mais antigo, o processo de atualização do jogo de corrida não é tão simples quanto o visto em plataformas como o Nintendo Switch. Para instalá-la, os jogadores precisam estar conectados à internet e fazer uma busca ativa pela disponibilidade de novos conteúdos.
Antes do patch 1.2, a atualização mais recente de Mario Kart 7 havia sido lançada no dia 15 de maio de 2012. Nela, a Nintendo havia removido a possibilidade de abusar de alguns atalhos de fases como Wuhu Loop, Maka Wuhu e Bowser Castle 1 quando elas eram acessadas no modo multiplayer do jogo.
Apesar da comunidade que utiliza o desbloqueio sempre ficar com o pé atrás devido à possibilidade da Nintendo adicionar novas formas de contornar desbloqueios, o jogo deve ser atualizado obrigatoriamente se você deseja jogar online.
A própria Nintendo informa em seu site que o jogo funcionará normalmente sem a atualização, caso o jogador opte apenas por jogar offline.
Informações da Nintendo sobre a atualização:
- Só o modo Online será afetado pelos dados de atualização.
- Os modos Um Jogador e Multijogador Online não serão atualizados, então você pode jogá-los sem os dados de atualização.
- Depois de baixados, os dados de atualização serão aplicados automaticamente.
- Note que você não verá o símbolo do presente no Menu HOME que se vê normalmente quando se realiza uma compra ou baixa novos títulos e softwares.
- Os dados de atualização ficarão gravados no Cartão SD inserido no console.
- Note que você não poderá receber os dados de atualização se o Cartão SD não tiver memória suficiente.
- Se a opção de interagir com outros usuários online estiver restringida na seção Controle Parental das Configurações do Console do seu Nintendo 3DS, você não poderá jogar online.
- Se tiver optado por recusar o Acordo de Usuário relacionado aos serviços em rede durante a configuração inicial de seu Nintendo 3DS, não poderá conectar-se. Você poderá ver este contrato em “Configurações do Console” – “Configuração de Internet” – “Outras informações” – “Acordo de Usuário”.
Para mais detalhes sobre a atualização, você também pode visitar o site oficial da Nintendo de Portugal.