Checkmarx выдает ошибку, потому что значения, которые вы устанавливаете для параметров запроса, не проверены для его типа.
Например, давайте предположим, что запрос, сформированный с вашим PreparedStatement
, такой же, как показано ниже, изначение, которое вы хотите передать параметру запроса, равно «Test»
Select * from XYZ where COL1 = ?
Если ваш код скомпрометирован и злоумышленник передаст 'Test' OR 1 = 1
в параметре запроса, тогда условие всегда будет истинным, и оно будетвернуть все записи из таблицы.
Итак, перед выполнением запроса вы должны проверить все свои входные данные.
Надеюсь, это поможет