14-16 Mar 2026
Voltar ao catalogo

CotarOfertaAsync executa operacao financeira com permissao apenas de leitura

SEC2-07
HighAchado ConfirmadoSegurancaRodada 2

Descricao

POST /api/app/ofertas/cotar aceita oferta com valor monetario definido pelo usuario, protegido apenas por permissao generica de leitura. OfertaCotarDto sem validacao de range.

Evidencia
`OfertasAppService.Extended.cs` linhas 31-97: metodo `CotarOfertaAsync` sem `[Authorize(...)]` proprio. `OfertaCotarDto`: campos `Valor` e `PrecoAdicional` sem `[Range]`.
Impacto Tecnico

Usuario com permissao de leitura pode submeter valores negativos ou absurdos. API Galileu aceita o valor informado.

Impacto de Negocio

Fraude financeira direta. Usuario mal-intencionado aceita cargas com valores indevidos.

Recomendacao

Criar permissao cargo_fleet.Ofertas.Cotar. Adicionar [Range(0.01, double.MaxValue)] ao campo Valor.

Arquivos Afetados

aspnet-core/src/cargo_fleet.Application/Ofertas/OfertasAppService.Extended.cs

Acoes Relacionadas

{
  "id": "SEC2-07",
  "title": "CotarOfertaAsync executa operacao financeira com permissao apenas de leitura",
  "severity": "High",
  "type": "achado confirmado",
  "category": "security",
  "description": "`POST /api/app/ofertas/cotar` aceita oferta com valor monetario definido pelo usuario, protegido apenas por permissao generica de leitura. `OfertaCotarDto` sem validacao de range.",
  "evidence": "`OfertasAppService.Extended.cs` linhas 31-97: metodo `CotarOfertaAsync` sem `[Authorize(...)]` proprio. `OfertaCotarDto`: campos `Valor` e `PrecoAdicional` sem `[Range]`.",
  "technicalImpact": "Usuario com permissao de leitura pode submeter valores negativos ou absurdos. API Galileu aceita o valor informado.",
  "businessImpact": "Fraude financeira direta. Usuario mal-intencionado aceita cargas com valores indevidos.",
  "recommendation": "Criar permissao `cargo_fleet.Ofertas.Cotar`. Adicionar `[Range(0.01, double.MaxValue)]` ao campo `Valor`.",
  "files": [
    "aspnet-core/src/cargo_fleet.Application/Ofertas/OfertasAppService.Extended.cs"
  ],
  "pass": 2,
  "relatedActions": [
    "ACT-5.2.3"
  ]
}