Не удалось разрешить "Непроверенный вывод БД" в checkmarx

Я использую 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, но я не нахожу причину этой проблемы. Любые выводы будут оценены. Спасибо

0 ответов

Другие вопросы по тегам