Olá, Estou mexendo em uma aplicação que roda em Java com Spring boot + Maven. Tenho uma API com uma rota onde recebo um Enum por parâmetro:
@RequestMapping(value = "", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Supplier>> getSupplierByType(
@RequestParam(value = "Type", required = false) SupplierTypes type)
throws UnsupportedEncodingException {
List<Supplier> suppliers;
// Some Logic
}
Ao rodar a aplicação e fazer uma chamada conforme a seguinte:
http://localhost:8080/api/suppliers?Type=${T(java.lang.System).getenv()}
A aplicação roda com erro, porém loga na tela as minhas variáveis de ambiente. Isso porque ele executa o script passado pela query parameter
O breakpoint nem chega a passar para nenhuma linha após a declaração do método, o que me faz pensar que existe uma possível falha de segurança no spring boot. Alguem sabe se fiz alguma coisa errada, ou se tem algum jeito de evitar que esse tipo de erro ocorra?