Voltar ao catalogoCRIT-06
ABP StringEncryption DefaultPassPhrase hardcoded em appsettings.json
CriticalAchado ConfirmadoSegurancaRodada 4
Evidencia
`aspnet-core/src/cargo_fleet.HttpApi.Host/appsettings.json` — chave `StringEncryption:DefaultPassPhrase` com valor `"ZwzEq9oFPTcL3cQ0"`. Mesmo valor em `cargo_fleet.AuthServer/appsettings.json` e `cargo_fleet.DbMigrator/appsettings.json`.
Impacto Tecnico
Com a passphrase exposta no repositorio, qualquer pessoa com acesso ao banco pode descriptografar todos os campos criptografados pelo ABP, incluindo credenciais Galileu.
Impacto de Negocio
Comprometimento de todas as credenciais Galileu criptografadas de todos os tenants. Combinado com CRIT-02 (acesso ao banco), permite exfiltracao total.
Recomendacao
Gerar nova passphrase criptograficamente segura (>= 32 caracteres). Armazenar exclusivamente em Kubernetes Secret. Recriptografar todos os dados existentes com a nova chave. Remover do historico Git.
Arquivos Afetados
aspnet-core/src/cargo_fleet.HttpApi.Host/appsettings.jsonaspnet-core/src/cargo_fleet.AuthServer/appsettings.jsonaspnet-core/src/cargo_fleet.DbMigrator/appsettings.json
Achados Relacionados
Acoes Relacionadas
{
"id": "CRIT-06",
"title": "ABP StringEncryption DefaultPassPhrase hardcoded em appsettings.json",
"severity": "Critical",
"type": "achado confirmado",
"category": "security",
"description": "Chave `StringEncryption:DefaultPassPhrase` com valor `ZwzEq9oFPTcL3cQ0` hardcoded em appsettings.json. Mesmo valor presente em AuthServer e DbMigrator. O ABP Framework usa esta passphrase para criptografar dados sensiveis via `IStringEncryptionService`.",
"evidence": "`aspnet-core/src/cargo_fleet.HttpApi.Host/appsettings.json` — chave `StringEncryption:DefaultPassPhrase` com valor `\"ZwzEq9oFPTcL3cQ0\"`. Mesmo valor em `cargo_fleet.AuthServer/appsettings.json` e `cargo_fleet.DbMigrator/appsettings.json`.",
"technicalImpact": "Com a passphrase exposta no repositorio, qualquer pessoa com acesso ao banco pode descriptografar todos os campos criptografados pelo ABP, incluindo credenciais Galileu.",
"businessImpact": "Comprometimento de todas as credenciais Galileu criptografadas de todos os tenants. Combinado com CRIT-02 (acesso ao banco), permite exfiltracao total.",
"recommendation": "Gerar nova passphrase criptograficamente segura (>= 32 caracteres). Armazenar exclusivamente em Kubernetes Secret. Recriptografar todos os dados existentes com a nova chave. Remover do historico Git.",
"files": [
"aspnet-core/src/cargo_fleet.HttpApi.Host/appsettings.json",
"aspnet-core/src/cargo_fleet.AuthServer/appsettings.json",
"aspnet-core/src/cargo_fleet.DbMigrator/appsettings.json"
],
"pass": 4,
"relatedActions": [
"ACT-7.1.1"
],
"relatedFindings": [
"CRIT-02"
]
}
Descricao
Chave
StringEncryption:DefaultPassPhrasecom valorZwzEq9oFPTcL3cQ0hardcoded em appsettings.json. Mesmo valor presente em AuthServer e DbMigrator. O ABP Framework usa esta passphrase para criptografar dados sensiveis viaIStringEncryptionService.