Я получаю сообщение об ошибке Checkmarx.
Метод
abortJob
в строке 209 изXXX/classes/Monitoring.cls
получает пользовательский ввод из элементаselect
.
Значение этого элемента затем проходит через код без надлежащей очистки или проверки и в конечном итоге используется в запросе к базе данных в методеjobAbortRem
в строке 209 изXXX/classes/Monitoring.cls
.
Это может привести к атаке Внедрение SOQL.
Source Destination
File XXXX/classes/Monitoring.cls XXXX/classes/Monitoring.cls
Line 212 217
Object select select
public static void abortJob() //line no. 209
{
list<CronTrigger> detailId=[select id FROM CronTrigger
where (CronJobDetail.Name='myJobName') AND NextFireTime = null]; //line 212
if (detailId.size() > 0)
{
Id jobId = [SELECT Id from CronTrigger WHERE id = :detailId].get(0).Id; //and line 217
System.abortJob(jobId);
Monitoring.scheduleJob();
}
}
Помогите мне, как я могу пройти проверку Checkmarx.
Спасибо