Я использую контроллер Spring, где у меня есть метод загрузки файла.
метод контроллера используется для загрузки файла, и я устанавливаю имя файла как это..
response.setHeader("Content-disposition", "attachment;filename=" + reportname+ ".csv");
где имя файла происходит от метода контроллера, метод выглядит так..
@RequestMapping(value = "/{reportname}")
public void downloadCSV(HttpServletResponse response, @PathVariable(name="reportname",required=true) @NotBlank String reportname)
throws IOException {
что я получаю в checkmarx это. имя отчета параметр . Затем значение этого элемента проходит через код без надлежащей очистки или проверки и в конечном итоге используется в заголовке ответа HTTP в downloadCSV. Это может активировать атаку разделения ответа HTTP в некоторых более старых версиях, которые не смягчают эту атаку.