Para aceder aos passaportes de estranhos, bastava escrever um URL no browser. Sem password, sem autenticação, sem nada.

Em Junho de 2026, o investigador de segurança Sammy Azdoufal descobriu uma falha que expunha quase um milhão de documentos de identificação — passaportes, cartas de condução e selfies — de frequentadores de cannabis clubs em Espanha. Os dados estavam todos acessíveis na internet pública, em URLs sem qualquer controlo de acesso.

Neste artigo vou explicar o que aconteceu, como é que um sistema supostamente seguro deixou vazar dados tão sensíveis, e o que podemos aprender com este caso.


O que aconteceu

A empresa responsável é a Cannabis Club Systems (CCS), formalmente Nefos Solutions, uma empresa irlandesa que desenvolve software de gestão para cannabis clubs. O sistema inclui uma plataforma de verificação de identidade: em vez de mostrar o passaporte fisicamente sempre que entram, os membros fazem um registo único com foto e documento, e a receção confere a identidade no ecrã.

Há também uma app chamada PuffPal que permite aos sócios entrar através de um QR code — mais rápido, mais moderno, e teoricamente seguro.

Só que não era.


As falhas de segurança

Azdoufal decompilou a app PuffPal e encontrou um cenário deplorável:

  • Uma chave secreta do Stripe (processador de pagamentos) estava em texto plano dentro da app
  • Os perfis dos membros eram acessíveis apenas mudando um número no URL — um clássico Insecure Direct Object Reference (IDOR)
  • Os passaportes e documentos estavam armazenados em URLs públicos previsíveis, do género: https://ccsnubev2.com/v8/images/{club}/ID/{user_id}-front.jpg
  • Cerca de 5 mil novas fotos de documentos eram carregadas todos os dias com estes URLs inseguros
  • Um portal de administração estava acessível na internet pública
  • As palavras-passe dos clubes eram tão fracas que podiam ser descobertas em minutos com uma GPU moderna

Para teres noção do nível de exposição: Azdoufal automatizou a recolha e conseguiu mapear mais de 985 mil documentos de identificação. Pessoas de todo o mundo, incluindo 30 mil dos Estados Unidos e figuras públicas que preferem manter o seu consumo de cannabis privado.


O ping-pong da correção

A história não acaba na descoberta. O que se seguiu é quase pior.

A Nefos demorou cinco dias a responder ao investigador, e só depois de o The Verge os contactar é que começaram a agir. Primeiro, bloquearam o acesso às imagens. Mas os clubes começaram a queixar-se de que as fotos já não apareciam como antes — e a Nefos desbloqueou tudo outra vez para não chatear os clientes.

Dias depois, Azdoufal descobriu que, mesmo depois de terem protegido as imagens com tokens, todos os outros dados dos perfis continuavam acessíveis: números de passaporte, moradas, emails, números de telefone. Bastava um comando curl para obter informações pessoais de qualquer membro.

curl -X POST https://ccsnubev2.com/v8/api/userProfile.php -d "user_id=[NUMERO]&[CLUB]=test&language=en"

E o servidor devolvia tudo de bandeja.


O fator outsourcing

A Nefos aponta o dedo à 9Series, uma empresa de outsourcing que terá desenvolvido a app PuffPal e as APIs vulneráveis. O cofundador Andreas Nilsen diz que vão separar-se da 9Series e que o novo sistema será auditado por um investigador independente antes de ser lançado.

Mas, como bem nota o artigo do The Verge, a responsabilidade última é de quem coloca o produto no mercado. Subcontratar o código não transfere a responsabilidade.


Implicações legais — o peso do GDPR

Este caso é um exemplo de livro sobre como não cumprir o GDPR:

  • A Nefos não comunicou a violação à autoridade de proteção de dados no prazo de 72 horas exigido por lei
  • Os dados expostos incluem categorias altamente sensíveis: documentos de identificação, dados biométricos (selfies), e informações sobre consumo pessoal
  • Só depois da investigação pública é que contactaram a Data Protection Commission (DPC) da Irlanda

As multas ao abrigo do GDPR podem chegar a 4% da faturação anual ou 20 milhões de euros — o que for maior.


O que podemos aprender


1. Segurança não se faz por outsourcing

Entregar o desenvolvimento a terceiros sem supervisão técnica nem auditorias de segurança é um risco enorme. Código inseguro é código inseguro, independentemente de quem o escreveu.


2. IDOR é um problema básico

Validar que um utilizador tem permissão para aceder a um recurso específico é segurança 101. O facto de ser possível mudar um número no URL e aceder ao perfil de outra pessoa mostra que não havia controlo de autorização nenhum.


3. Chaves de API e segredos não pertencem ao código fonte

Ter a chave secreta do Stripe em texto plano dentro de uma app móvel é amadorismo puro. Segredos devem ficar no servidor, protegidos por variáveis de ambiente e acessíveis apenas via backend.


4. A reação a falhas é tão importante como preveni-las

O que mais impressiona neste caso não é a falha em si — falhas acontecem. É a forma como a Nefos reagiu: ignorou o investigador durante dias, reabriu o acesso porque os clientes reclamaram, e deixou dados pessoais expostos durante semanas.


5. Se tens dados sensíveis, assume que vão ser alvo

Passaportes, moradas, histórico de consumo — este é o tipo de dados que atrai atenção. Se não estás a proteger isso com autenticação, autorização, cifragem e logging, estás a pedir problemas.


Conclusão

Mais de 985 mil documentos de identificação expostos por falhas básicas de segurança. Uma empresa que priorizou a conveniência dos clientes sobre a privacidade dos utilizadores. Semanas de exposição desnecessária porque a correção foi feita a medo e aos empurrões.

O Azdoufal, o investigador que descobriu a falha, resume bem: “Temos de fazer alguma coisa o mais rápido possível, porque as pessoas vão encontrar isto e vão revender. Vai causar danos.”

A pergunta que fica é: quantos mais sistemas como este andam por aí, a armazenar passaportes e dados biométricos em URLs públicos, à espera de serem descobertos?

Neste caso, o PuffPal foi abaixo. As APIs foram bloqueadas. A DPC irlandesa está envolvida. Mas para os milhares de pessoas cujos passaportes andaram expostos na internet durante semanas, o estrago já está feito.

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Deixar comentário