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