Voltar ao PlanoACT-5.2.1
Adicionar whitelist de campos no sorting Dynamic LINQ (SEC2-03)
2a Pass. CurtoAltaEsforco: MComplexidade: MediaParalelizavel
Modulos Impactados
EfCoreOfertaRepository.csEfCoreRotaRepository.csEfCoreGalileuCredentialRepository.csNotificationAppService.csEfCoreOfertaRecordRepository.cs
Passos de Implementacao
- 1Criar um metodo utilitario `SortingValidator.Validate(string sorting, string[] allowedFields)` em `Application.Contracts` ou `Application`
- 2Definir a whitelist de campos permitidos para cada entidade (ex: `Oferta`: `Data`, `Status`, `Origem`, `Destino`, `Valor`)
- 3Chamar o validador antes de cada uso de `OrderBy(sorting)` nos repositorios
- 4Retornar `BadRequest` ou usar o sorting default se o campo nao for permitido
Injection via Dynamic LINQ em 6 repositorios/servicos diferentes
Vazamento de dados por ordenacao por colunas nao intencionadas, potencial DoS via queries caras