14-16 Mar 2026
Voltar ao catalogo

Refresh token biometrico sem scoping por userId

FE-06
HighAchado ConfirmadoFrontendRodada 4

Descricao

O refresh token e armazenado no SecureStorage com chave fixa (sem incluir userId). Em dispositivo compartilhado entre multiplos usuarios, o ultimo login sobrescreve o token do usuario anterior.

Evidencia
`angular/src/app/login/login.component.ts` — refresh token armazenado com chave fixa sem userId.
Impacto Tecnico

Se dois usuarios usam o mesmo dispositivo, o login biometrico sempre autentica como o ultimo usuario que fez login, nao necessariamente como o usuario que registrou a biometria.

Impacto de Negocio

Usuario pode inadvertidamente operar no contexto de outro usuario, aceitando ou recusando fretes em nome de outra pessoa.

Recomendacao

Incluir userId na chave do SecureStorage: biometric_refresh_token_{userId}. Validar no login biometrico que o token pertence ao usuario esperado.

Arquivos Afetados

angular/src/app/login/login.component.ts

Acoes Relacionadas

{
  "id": "FE-06",
  "title": "Refresh token biometrico sem scoping por userId",
  "severity": "High",
  "type": "achado confirmado",
  "category": "frontend",
  "description": "O refresh token e armazenado no SecureStorage com chave fixa (sem incluir userId). Em dispositivo compartilhado entre multiplos usuarios, o ultimo login sobrescreve o token do usuario anterior.",
  "evidence": "`angular/src/app/login/login.component.ts` — refresh token armazenado com chave fixa sem userId.",
  "technicalImpact": "Se dois usuarios usam o mesmo dispositivo, o login biometrico sempre autentica como o ultimo usuario que fez login, nao necessariamente como o usuario que registrou a biometria.",
  "businessImpact": "Usuario pode inadvertidamente operar no contexto de outro usuario, aceitando ou recusando fretes em nome de outra pessoa.",
  "recommendation": "Incluir `userId` na chave do SecureStorage: `biometric_refresh_token_{userId}`. Validar no login biometrico que o token pertence ao usuario esperado.",
  "files": [
    "angular/src/app/login/login.component.ts"
  ],
  "pass": 4,
  "relatedActions": [
    "ACT-7.2.2"
  ]
}