14-16 Mar 2026
Voltar ao catalogo

Placeholder nao substituido na rota do OfertaRecordController + ausencia de [Authorize]

SEC2-06
HighAchado ConfirmadoSegurancaRodada 2

Descricao

OfertaRecordController usa rota literal api/%%entity-name-root-prefix%%/oferta-records com placeholder nao substituido. Controllers sem [Authorize] no nivel de classe.

Evidencia
`OfertaRecordController.cs` linha 18: `[Route("api/%%entity-name-root-prefix%%/oferta-records")]`. Controllers sem `[Authorize]`: `RotaControllerBase`, `OfertaControllerBase`, `WhatsAppContactControllerBase`, etc.
Impacto Tecnico

Endpoint de OfertaRecords pode estar inacessivel (404) ou em rota estranha. Autorizacao depende exclusivamente do AppService.

Impacto de Negocio

Rota de historico de ofertas potencialmente nao funcional.

Recomendacao

Corrigir placeholder. Adicionar [Authorize] a todos os controllers.

Arquivos Afetados

aspnet-core/src/cargo_fleet.HttpApi/Controllers/OfertaRecords/OfertaRecordController.cs
{
  "id": "SEC2-06",
  "title": "Placeholder nao substituido na rota do OfertaRecordController + ausencia de [Authorize]",
  "severity": "High",
  "type": "achado confirmado",
  "category": "security",
  "description": "`OfertaRecordController` usa rota literal `api/%%entity-name-root-prefix%%/oferta-records` com placeholder nao substituido. Controllers sem `[Authorize]` no nivel de classe.",
  "evidence": "`OfertaRecordController.cs` linha 18: `[Route(\"api/%%entity-name-root-prefix%%/oferta-records\")]`. Controllers sem `[Authorize]`: `RotaControllerBase`, `OfertaControllerBase`, `WhatsAppContactControllerBase`, etc.",
  "technicalImpact": "Endpoint de OfertaRecords pode estar inacessivel (404) ou em rota estranha. Autorizacao depende exclusivamente do AppService.",
  "businessImpact": "Rota de historico de ofertas potencialmente nao funcional.",
  "recommendation": "Corrigir placeholder. Adicionar `[Authorize]` a todos os controllers.",
  "files": [
    "aspnet-core/src/cargo_fleet.HttpApi/Controllers/OfertaRecords/OfertaRecordController.cs"
  ],
  "pass": 2,
  "relatedActions": [
    "ACT-5.3.5",
    "ACT-5.3.6"
  ]
}