Voltar ao catalogoSEC2-04
Campo Senha (criptografado) exposto no GalileuCredentialDto de resposta
HighAchado ConfirmadoSegurancaRodada 2
Evidencia
`GalileuCredentialDto.cs` linhas 11-12: `public string Senha { get; set; }`. Endpoint `GET /api/app/galileu-credentials` retorna este DTO.Impacto Tecnico
Usuario com permissao pode obter ciphertext AES de todos os tenants. Combinado com passphrase fraca, descriptografia e imediata.
Impacto de Negocio
Comprometimento de todas as credenciais Galileu de todos os tenants.
Recomendacao
Remover Senha do DTO de resposta. Remover Senha de GetGalileuCredentialsInput.
Arquivos Afetados
aspnet-core/src/cargo_fleet.Application.Contracts/GalileuCredentials/GalileuCredentialDto.csaspnet-core/src/cargo_fleet.Application.Contracts/GalileuCredentials/GetGalileuCredentialsInput.cs
Achados Relacionados
Acoes Relacionadas
{
"id": "SEC2-04",
"title": "Campo Senha (criptografado) exposto no GalileuCredentialDto de resposta",
"severity": "High",
"type": "achado confirmado",
"category": "security",
"description": "`GalileuCredentialDto` inclui campo `Senha` (ciphertext AES) retornado pela API. Com passphrase exposta (HIGH-02), descriptografia e trivial. `GetGalileuCredentialsInput` aceita `Senha` como filtro.",
"evidence": "`GalileuCredentialDto.cs` linhas 11-12: `public string Senha { get; set; }`. Endpoint `GET /api/app/galileu-credentials` retorna este DTO.",
"technicalImpact": "Usuario com permissao pode obter ciphertext AES de todos os tenants. Combinado com passphrase fraca, descriptografia e imediata.",
"businessImpact": "Comprometimento de todas as credenciais Galileu de todos os tenants.",
"recommendation": "Remover `Senha` do DTO de resposta. Remover `Senha` de `GetGalileuCredentialsInput`.",
"files": [
"aspnet-core/src/cargo_fleet.Application.Contracts/GalileuCredentials/GalileuCredentialDto.cs",
"aspnet-core/src/cargo_fleet.Application.Contracts/GalileuCredentials/GetGalileuCredentialsInput.cs"
],
"pass": 2,
"relatedActions": [
"ACT-5.2.2"
],
"relatedFindings": [
"HIGH-02"
]
}
Descricao
GalileuCredentialDtoinclui campoSenha(ciphertext AES) retornado pela API. Com passphrase exposta (HIGH-02), descriptografia e trivial.GetGalileuCredentialsInputaceitaSenhacomo filtro.