Exclusivo: Nova falha no ConecteSUS valida QR Code falso e exibe dados adulterados

Aplicativo ConecteSUS para Android não verifica assinatura digital de QR Code quando está offline e mostra informações de código forjado

Giovanni Santa Rosa
Por
Aplicativo Conecte SUS/Gabrielle Lancellotti
Aplicativo ConecteSUS (Imagem: Tecnoblog/Gabrielle Lancelotti)

Mais uma falha na verificação de comprovantes de vacinação do aplicativo ConecteSUS surgiu nesta quinta-feira (27). Quando o aplicativo está offline, ele valida QR Codes falsificados e pode exibir até mesmo mensagens adulteradas. A descoberta foi compartilhada com o Tecnoblog com exclusividade. Este é o segundo problema na ferramenta revelado durante esta semana.

A falha foi encontrada pelo especialista em segurança da informação Conrado Gouvêa. O problema acontece só no Android e é mais restrito a um cenário específico — ao contrário da falha revelada nesta quarta-feira (26), que fazia o aplicativo retornar “OK” para qualquer QR Code lido.

Sem internet, aplicativo não verifica código

O problema acontece ao entrar no aplicativo, desligar as conexões de internet do aparelho e tentar validar um QR Code forjado.

Conrado explica que o QR Code do comprovante de vacinação é um JSON Web Token. Isso quer dizer que ele é um JSON, formato de troca de dados simples, assinado digitalmente.

“Idealmente, [o ConecteSUS] verificaria a assinatura digital, então só JWT válidos seriam reconhecidos como válidos, e teriam dados exibidos na tela”, diz o especialista.

O problema é que, quando está offline, o app não valida essa assinatura e mostra o que quer que esteja no JSON. Assim, dá para forjar um código “criando um JSON no formato esperado pelo app (ou modificando um QR code válido), com uma assinatura aleatória”, conta Conrado.

Reproduzir a falha não é tão simples. Como dissemos, ela só ocorre no Android. É preciso abrir o ConecteSUS ainda conectado à Internet, porque o app baixa um arquivo necessário para as verificações — sem ele, todas falham. Depois, com o Wi-Fi e o 4G desligados, é possível ler o QR Code falsificado: o aplicativo exibe as informações nele registradas.

Aplicativo ConecteSUS lendo QR Code falso e exibindo mensagem e dados como válidos
Aplicativo ConecteSUS lendo QR Code falso e exibindo mensagem e dados como válidos (Imagem: Reprodução/Tecnoblog)

Conrado deu um QR Code forjado de exemplo. No Android, o ConecteSUS exibe a mensagem “FORABOLSONARO” com os dados do presidente Jair Bolsonaro. O Tecnoblog testou e conseguiu reproduzir a falha no Android. No iOS, o código adulterado aparece como inválido, seja online ou offline.

O Tecnoblog entrou em contato com o Ministério da Saúde na tarde desta quinta-feira (27). A pasta enviou a seguinte nota:

O Ministério da Saúde informa que identificou a falha na validação do Certificado Nacional de Vacinação Covid-19 do Conecte SUS na última segunda-feira (24), e com máxima agilidade já efetuou a atualização do componente de validação do QR-Code. O aplicativo, em sua versão on-line, encontra-se corrigido no site e a atualização já está disponível nas lojas de aplicativos Android e IOS.

Contudo, o acesso off-line do Conecte SUS terá sua versão corrigida disponível nas lojas até a próxima semana.

ConecteSUS dava “OK” para qualquer QR Code

Na quarta-feira (26), surgiu a informação de que a ferramenta de validação do comprovante de vacinação do ConecteSUS retornava um “OK” para qualquer QR Code, fosse ele de um certificado autêntico ou não. Chaves Pix e textos simples, por exemplo, também faziam o app mostrar um “OK”.

Na noite da quarta, o aplicativo para iOS foi atualizado e passou a verificar corretamente os QR Codes. Agora, ao ler um código autêntico, ele exibe informações como cartão SUS, data de nascimento e partes do CPF. Do contrário, ele avisa que o QR Code é inválido.

Atualizado às 17h32 do dia 28 com o posicionamento do Ministério da Saúde.

Receba mais notícias do Tecnoblog na sua caixa de entrada

* ao se inscrever você aceita a nossa política de privacidade
Newsletter
Giovanni Santa Rosa

Giovanni Santa Rosa

Repórter

Giovanni Santa Rosa é formado em jornalismo pela ECA-USP e cobre ciência e tecnologia desde 2012. Foi editor-assistente do Gizmodo Brasil e escreveu para o UOL Tilt e para o Jornal da USP. Cobriu o Snapdragon Tech Summit, em Maui (EUA), o Fórum Internacional de Software Livre, em Porto Alegre (RS), e a Campus Party, em São Paulo (SP). Atualmente, é autor no Tecnoblog.

Relacionados