Не удалось разрешить «Непроверенный вывод БД» в checkmarx - PullRequest
0 голосов
/ 22 октября 2018

Я использую checkmarx для статического сканирования, и я застрял в этой проблеме.В нем говорится, что

Непроверенный вывод БД был найден в строке 18 в файле FileUtils.java.Возможная эксплуатация XSS была обнаружена в write в строке № 18.

Я искал это, но не нашел многообещающего решения.Фрагмент кода:

public static Map<String, byte[]> getSomething(InputStream is) throws IOException {
    Map<String, byte[]> classes = new HashMap<String, byte[]>();
    try (ZipInputStream stream = new ZipInputStream(is)){
        ZipEntry entry;
        while ((entry = stream.getNextEntry()) != null) {
            try(ByteArrayOutputStream out = new ByteArrayOutputStream()) {
                byte[] buffer = new byte[2048];
                String entryName = entry.getName();
                int len = 0;
                while ((len = stream.read(buffer)) > 0) {
                    out.write(buffer, 0, len);
                }
                if (out.size() > 0 && entryName.endsWith(".class")) {
                    String className = entryName.substring(0, entryName.length() - ".class".length()).replaceAll("/", ".");
                    classes.put(className, out.toByteArray());
                }
            }
        }
    }
    return classes;
}

В отчете говорится, что исходным объектом является buffer, а целевым объектом является write, но я не могу найти причину этой проблемы.Любые выводы будут оценены.Спасибо

...