14-16 Mar 2026
Voltar ao catalogo

Logout nao limpa credenciais biometricas do SecureStorage

FE-05
HighAchado ConfirmadoFrontendRodada 4

Descricao

O metodo de logout chama localStorage.clear() e sessionStorage.clear() mas NAO chama SecureStorage.remove() para limpar o refresh token armazenado no Keychain/EncryptedSharedPreferences.

Evidencia
`angular/src/app/logout/logout-service.service.ts` — o fluxo de logout limpa localStorage e sessionStorage mas nao limpa o SecureStorage do Capacitor.
Impacto Tecnico

Apos logout, o refresh token permanece no armazenamento seguro do dispositivo. Se o login biometrico for reativado ou o dispositivo for compartilhado, o token antigo pode ser reutilizado.

Impacto de Negocio

Dispositivos compartilhados ou roubados mantem capacidade de login biometrico mesmo apos logout explicito do usuario.

Recomendacao

Adicionar chamada a SecureStoragePlugin.remove('biometric_refresh_token') no fluxo de logout.

Arquivos Afetados

angular/src/app/logout/logout-service.service.ts

Acoes Relacionadas

{
  "id": "FE-05",
  "title": "Logout nao limpa credenciais biometricas do SecureStorage",
  "severity": "High",
  "type": "achado confirmado",
  "category": "frontend",
  "description": "O metodo de logout chama `localStorage.clear()` e `sessionStorage.clear()` mas NAO chama `SecureStorage.remove()` para limpar o refresh token armazenado no Keychain/EncryptedSharedPreferences.",
  "evidence": "`angular/src/app/logout/logout-service.service.ts` — o fluxo de logout limpa localStorage e sessionStorage mas nao limpa o SecureStorage do Capacitor.",
  "technicalImpact": "Apos logout, o refresh token permanece no armazenamento seguro do dispositivo. Se o login biometrico for reativado ou o dispositivo for compartilhado, o token antigo pode ser reutilizado.",
  "businessImpact": "Dispositivos compartilhados ou roubados mantem capacidade de login biometrico mesmo apos logout explicito do usuario.",
  "recommendation": "Adicionar chamada a `SecureStoragePlugin.remove('biometric_refresh_token')` no fluxo de logout.",
  "files": [
    "angular/src/app/logout/logout-service.service.ts"
  ],
  "pass": 4,
  "relatedActions": [
    "ACT-7.2.1"
  ]
}