14-16 Mar 2026
Voltar ao catalogo

Token revocation NUNCA funciona — typo na URL

FE-01
HighAchado ConfirmadoFrontendRodada 3

Descricao

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.

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

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"
  ]
}