Voltar ao catalogoFE-01
Token revocation NUNCA funciona — typo na URL
HighAchado ConfirmadoFrontendRodada 3
Evidencia
`logout-service.service.ts` linha 36: `this.http.post(environment.oAuthConfig.issuer + "connect/revocat", ...)`. Linhas 33-34: `localStorage.clear(); sessionStorage.clear()` antes do request.
Impacto Tecnico
Tokens NUNCA revogados no servidor. Token roubado valido ate expirar (refresh: 180 dias). Logout e apenas visual.
Impacto de Negocio
Dispositivos roubados mantem acesso por 180 dias. Atacante com token continua operando apos logout.
Recomendacao
Corrigir para "connect/revocation". Mover localStorage.clear() para apos request. Tratar erro visivelmente.
Arquivos Afetados
angular/src/app/logout/logout-service.service.ts
Achados Relacionados
Acoes Relacionadas
{
"id": "FE-01",
"title": "Token revocation NUNCA funciona — typo na URL",
"severity": "High",
"type": "achado confirmado",
"category": "frontend",
"description": "Logout tenta revogar token via POST com URL errada: `\"connect/revocat\"` em vez de `\"connect/revocation\"`. Erro engolido por `catchError`. localStorage limpo antes do request HTTP.",
"evidence": "`logout-service.service.ts` linha 36: `this.http.post(environment.oAuthConfig.issuer + \"connect/revocat\", ...)`. Linhas 33-34: `localStorage.clear(); sessionStorage.clear()` antes do request.",
"technicalImpact": "Tokens NUNCA revogados no servidor. Token roubado valido ate expirar (refresh: 180 dias). Logout e apenas visual.",
"businessImpact": "Dispositivos roubados mantem acesso por 180 dias. Atacante com token continua operando apos logout.",
"recommendation": "Corrigir para `\"connect/revocation\"`. Mover `localStorage.clear()` para apos request. Tratar erro visivelmente.",
"files": [
"angular/src/app/logout/logout-service.service.ts"
],
"pass": 3,
"relatedActions": [
"ACT-6.1.5"
],
"relatedFindings": [
"SEC2-14"
]
}
Descricao
Logout tenta revogar token via POST com URL errada:
"connect/revocat"em vez de"connect/revocation". Erro engolido porcatchError. localStorage limpo antes do request HTTP.