Я сканирую свой код с помощью IBM AppScan, и одним способом я передаю файл, загруженный пользователем типа UploadedFile
, и считываю его в байтовый массив, используя приведенный ниже код. Но сканирование выдает ошибку «Тип уязвимости - Проверка. Требуется». Я проверяю расширение файла и null
проверяю файл, прежде чем запустить этот фрагмент кода.
Проверка проверки:
if (file != null && !file.getFileName().isEmpty()) {
// Checking file extension here. Like jpg,png etc.
}
Он попадает в категорию CWE 20 если это поможет. https://cwe.mitre.org/data/definitions/20.html
private int fileUpload(UploadedFile file) { // import org.primefaces.model.UploadedFile;
try {
String fileName = file.getFileName();
int fileSize = (int) file.getSize();
String fileType = new Validator().fetchFileExtension(fileName);
byte[] filebytea = new byte[fileSize];
try {
FileInputStream fileStream = (FileInputStream) file.getInputstream();
fileStream.read(filebytea); // Error: Vulnerability Type Validation.Required
} catch (Exception e) {
//System.out.println("error in file stream" + e.getMessage());
}