14-16 Mar 2026
Voltar ao catalogo

Senha do certificado OpenIddict hardcoded em codigo C# do AuthServer

CRIT-07
CriticalAchado ConfirmadoSegurancaRodada 4

Descricao

Senha do certificado OpenIddict (.pfx) hardcoded diretamente no codigo-fonte C# do AuthServer. Diferente de INFRA-01 (senha nos docker-compose), esta e uma segunda instancia independente no proprio codigo do modulo.

Evidencia
`aspnet-core/src/cargo_fleet.AuthServer/cargo_fleetAuthServerModule.cs` linha ~105: senha do certificado OpenIddict hardcoded diretamente no codigo-fonte C#.
Impacto Tecnico

Mesmo que os docker-compose sejam limpos (INFRA-01), a senha permanece no codigo-fonte compilado. Qualquer pessoa com acesso ao repositorio ou ao binario decompilado pode extrair a senha e forjar tokens JWT validos.

Impacto de Negocio

Comprometimento total da autenticacao — capacidade de impersonar qualquer usuario, incluindo administradores de qualquer tenant.

Recomendacao

Remover a senha do codigo-fonte. Carregar via variavel de ambiente ou Kubernetes Secret. Gerar novo certificado OpenIddict com senha forte.

Arquivos Afetados

aspnet-core/src/cargo_fleet.AuthServer/cargo_fleetAuthServerModule.cs

Acoes Relacionadas

{
  "id": "CRIT-07",
  "title": "Senha do certificado OpenIddict hardcoded em codigo C# do AuthServer",
  "severity": "Critical",
  "type": "achado confirmado",
  "category": "security",
  "description": "Senha do certificado OpenIddict (`.pfx`) hardcoded diretamente no codigo-fonte C# do AuthServer. Diferente de INFRA-01 (senha nos docker-compose), esta e uma segunda instancia independente no proprio codigo do modulo.",
  "evidence": "`aspnet-core/src/cargo_fleet.AuthServer/cargo_fleetAuthServerModule.cs` linha ~105: senha do certificado OpenIddict hardcoded diretamente no codigo-fonte C#.",
  "technicalImpact": "Mesmo que os docker-compose sejam limpos (INFRA-01), a senha permanece no codigo-fonte compilado. Qualquer pessoa com acesso ao repositorio ou ao binario decompilado pode extrair a senha e forjar tokens JWT validos.",
  "businessImpact": "Comprometimento total da autenticacao — capacidade de impersonar qualquer usuario, incluindo administradores de qualquer tenant.",
  "recommendation": "Remover a senha do codigo-fonte. Carregar via variavel de ambiente ou Kubernetes Secret. Gerar novo certificado OpenIddict com senha forte.",
  "files": [
    "aspnet-core/src/cargo_fleet.AuthServer/cargo_fleetAuthServerModule.cs"
  ],
  "pass": 4,
  "relatedActions": [
    "ACT-7.1.2"
  ],
  "relatedFindings": [
    "INFRA-01"
  ]
}