Voltar ao catalogoSEC2-01
Senha Galileu em texto plano nos ETOs de eventos internos
CriticalAchado ConfirmadoSegurancaRodada 2
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
Achados Relacionados
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"
]
}
Descricao
GalileuCredentialCreatedEtoeGalileuCredentialUpdatedEtocarregam campoSenhaem texto plano — evento publicado antes da criptografia. Se Serilog loga eventos serializados, senha aparece nos logs.