VeraCode - этот вызов name () содержит ошибку межсайтового скриптинга (XSS).

Может ли кто-нибудь объяснить, почему VeraCode, похоже, считает, что использование name в качестве общедоступного свойства - плохая идея, и предлагает хороший комментарий для смягчения последствий?

код (JavaScript):

var BatchTask = (function () {
    function BatchTask(batchOrTask, isBatch) {    
        if (isBatch) {
            ...
        }
        else {
            var task = batchOrTask;
            this.name = task.name; // flaw identified on this line
        }
    }
    return BatchTask;
}());

недостаток: CWE-80: неправильная нейтрализация связанных со скриптом тегов HTML на веб-странице ( Базовый XSS)

Вектор атаки: название

Описание: этот вызов name () содержит ошибку межсайтового скриптинга (XSS). Приложение заполняет HTTP-ответ ненадежным вводом, позволяя злоумышленнику внедрить вредоносный контент, такой как код Javascript, который будет выполняться в контексте браузера жертвы. Уязвимости XSS обычно используются для кражи файлов cookie или манипулирования ими, изменения представления контента и компрометации конфиденциальной информации, при этом регулярно обнаруживаются новые векторы атак.


person Иван Грозный    schedule 20.06.2017    source источник
comment
вы экранировали входящие данные (task.name)?   -  person Caspar Kleijne    schedule 20.06.2017
comment
После консультации с людьми Veracode они подтвердили, что это ложноотрицательный результат и что это ошибка в их движке, которую они будут искать.   -  person Иван Грозный    schedule 27.06.2017
comment
пожалуйста, создайте ответ для этого, примите этот собственный ответ, спасибо.   -  person Caspar Kleijne    schedule 29.06.2017


Ответы (1)


После консультации с Veracode они подтвердили, что это ложноотрицательный результат и что это ошибка в их движке, которую они будут изучать.

person Иван Грозный    schedule 29.06.2017