14-16 Mar 2026
Voltar ao catalogo

ABP StringEncryption DefaultPassPhrase hardcoded em appsettings.json

CRIT-06
CriticalAchado ConfirmadoSegurancaRodada 4

Descricao

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.

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

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"
  ]
}