14-16 Mar 2026
Voltar ao catalogo

Senha do certificado OpenIddict hardcoded em 5 arquivos versionados

INFRA-01
CriticalAchado ConfirmadoInfraestruturaRodada 3

Descricao

Senhas do pfx OpenIddict em texto plano em docker-compose e Dockerfile. Dockerfile executa dotnet dev-certs https com senha hardcoded. Certificado embutido na imagem de producao.

Evidencia
`docker-compose.yml` linhas 30, 69. `docker-compose-ec2-dev.yml` linhas 48, 93. `docker-compose-ec2-hom.yml` linhas 48, 93. `run-docker.sh` linha 9. `AuthServer/Dockerfile` linha 30.
Impacto Tecnico

Pfx OpenIddict e a chave de assinatura JWT. Posse permite forjar tokens para qualquer usuario.

Impacto de Negocio

Comprometimento total da autenticacao. Forjamento de tokens para qualquer usuario/admin.

Recomendacao

Remover senhas dos arquivos versionados. Gerar novo certificado. Montar como Kubernetes Secret.

Arquivos Afetados

aspnet-core/etc/docker/docker-compose.ymlaspnet-core/etc/docker/docker-compose-ec2-dev.ymlaspnet-core/etc/docker/docker-compose-ec2-hom.ymlaspnet-core/etc/docker/run-docker.shaspnet-core/src/cargo_fleet.AuthServer/Dockerfile

Acoes Relacionadas

{
  "id": "INFRA-01",
  "title": "Senha do certificado OpenIddict hardcoded em 5 arquivos versionados",
  "severity": "Critical",
  "type": "achado confirmado",
  "category": "infrastructure",
  "description": "Senhas do pfx OpenIddict em texto plano em docker-compose e Dockerfile. Dockerfile executa `dotnet dev-certs https` com senha hardcoded. Certificado embutido na imagem de producao.",
  "evidence": "`docker-compose.yml` linhas 30, 69. `docker-compose-ec2-dev.yml` linhas 48, 93. `docker-compose-ec2-hom.yml` linhas 48, 93. `run-docker.sh` linha 9. `AuthServer/Dockerfile` linha 30.",
  "technicalImpact": "Pfx OpenIddict e a chave de assinatura JWT. Posse permite forjar tokens para qualquer usuario.",
  "businessImpact": "Comprometimento total da autenticacao. Forjamento de tokens para qualquer usuario/admin.",
  "recommendation": "Remover senhas dos arquivos versionados. Gerar novo certificado. Montar como Kubernetes Secret.",
  "files": [
    "aspnet-core/etc/docker/docker-compose.yml",
    "aspnet-core/etc/docker/docker-compose-ec2-dev.yml",
    "aspnet-core/etc/docker/docker-compose-ec2-hom.yml",
    "aspnet-core/etc/docker/run-docker.sh",
    "aspnet-core/src/cargo_fleet.AuthServer/Dockerfile"
  ],
  "pass": 3,
  "relatedActions": [
    "ACT-6.1.1"
  ]
}