14-16 Mar 2026
Voltar ao catalogo

Senha Galileu em texto plano nos ETOs de eventos internos

SEC2-01
CriticalAchado ConfirmadoSegurancaRodada 2

Descricao

GalileuCredentialCreatedEto e GalileuCredentialUpdatedEto carregam campo Senha em texto plano — evento publicado antes da criptografia. Se Serilog loga eventos serializados, senha aparece nos logs.

Evidencia
`GalileuCredentialsAppService.cs` linhas 145 e 155: `var eventData = new GalileuCredentialCreatedEto(CurrentTenant.Name!, input.Login, input.Senha)` — `input.Senha` e texto plano. `GalileuCredentialCreatedEto.cs` linha 9: `public record GalileuCredentialCreatedEto(string TenantName, string Login, string Senha)`.
Impacto Tecnico

Senha em texto plano no barramento de eventos. Qualquer handler futuro recebera a senha em claro.

Impacto de Negocio

Credenciais Galileu expostas em logs comprometem operacoes de aceite/recusa de cargas.

Recomendacao

Remover campo Senha do ETO. Evento deve carregar apenas ID da credencial persistida.

Arquivos Afetados

aspnet-core/src/cargo_fleet.Application/GalileuCredentials/GalileuCredentialsAppService.csaspnet-core/src/cargo_fleet.Domain.Shared/GalileuCredentials/GalileuCredentialCreatedEto.cs

Acoes Relacionadas

{
  "id": "SEC2-01",
  "title": "Senha Galileu em texto plano nos ETOs de eventos internos",
  "severity": "Critical",
  "type": "achado confirmado",
  "category": "security",
  "description": "`GalileuCredentialCreatedEto` e `GalileuCredentialUpdatedEto` carregam campo `Senha` em texto plano — evento publicado antes da criptografia. Se Serilog loga eventos serializados, senha aparece nos logs.",
  "evidence": "`GalileuCredentialsAppService.cs` linhas 145 e 155: `var eventData = new GalileuCredentialCreatedEto(CurrentTenant.Name!, input.Login, input.Senha)` — `input.Senha` e texto plano. `GalileuCredentialCreatedEto.cs` linha 9: `public record GalileuCredentialCreatedEto(string TenantName, string Login, string Senha)`.",
  "technicalImpact": "Senha em texto plano no barramento de eventos. Qualquer handler futuro recebera a senha em claro.",
  "businessImpact": "Credenciais Galileu expostas em logs comprometem operacoes de aceite/recusa de cargas.",
  "recommendation": "Remover campo `Senha` do ETO. Evento deve carregar apenas ID da credencial persistida.",
  "files": [
    "aspnet-core/src/cargo_fleet.Application/GalileuCredentials/GalileuCredentialsAppService.cs",
    "aspnet-core/src/cargo_fleet.Domain.Shared/GalileuCredentials/GalileuCredentialCreatedEto.cs"
  ],
  "pass": 2,
  "relatedActions": [
    "ACT-5.1.2"
  ],
  "relatedFindings": [
    "HIGH-05"
  ]
}