Aplicativo de transporte coletivo deixou expostos dados pessoais sensíveis de ao menos 20.000 usuários, incluindo quase 5.000 crianças.
Pessoal, queria compartilhar um caso real de vulnerabilidade que encontrei em um aplicativo de transporte público municipal (Rondonópolis).
Consegui acesso a dados de ~20.000 usuários, incluindo endereços residenciais de quase 5.000 menores, devido com um endpoint exposto. O problema foi resolvido após eu reportar, mas os caras não queriam avisar a ANPD por nada, aí escrevi o artigo.
Aqui um trecho dele:
A vulnerabilidade, resolvida provisoriamente em 10 de março de 2025 e relatada a um desenvolvedor do app via LinkedIn no dia anterior, residia no endereço de rede (endpoint) responsável pela consulta de saldos dos cartões https://appamtc.rondonopolis.mt.gov.br/api/v2/consultar-cartao. Essa falha se apoiava em erros clássicos de engenharia de software. O primeiro é o over-fetching, que ocorre quando a interface do aplicativo esconde os dados na tela do usuário, mostrando apenas o saldo e a parte inicial do nome, mas o servidor envia “por baixo dos panos” o pacote de dados completo, contendo CPF, data de nascimento e endereço. Na prática, a segurança foi erroneamente delegada à camada visual do aplicativo, em vez de ser tratada no servidor.
Estou trazendo isso aqui para ouvir a opinião de vocês sobre um ponto:
- Fiz algo errado? Usei hashing para contar os usuários sem armazenar dados identificáveis de ninguém, garantindo que eu não estivesse também "vazando" os dados. pra quem quiser ler na íntegra, tá no source :)