PMD — расширяемый многоязычный статический анализатор кода. До версии 7.22.0 форматы отчетов PMD `vbhtml` и `yahtml` вставляли сообщения о нарушении правил в вывод HTML без экранирования. Когда PMD анализирует ненадежный исходный код, содержащий созданные строковые литералы, созданный отчет HTML содержит исполняемый код JavaScript, который запускается при открытии в браузере.
Практическое значение ограничено, поскольку vbhtml и yahtml — устаревшие форматы, редко используемые на практике. Формат `html` по умолчанию корректно экранируется и не затрагивается. Версия 7.22.0 содержит исправление этой проблемы.
Показать оригинальное описание (EN)
PMD is an extensible multilanguage static code analyzer. Prior to version 7.22.0, PMD's `vbhtml` and `yahtml` report formats insert rule violation messages into HTML output without escaping. When PMD analyzes untrusted source code containing crafted string literals, the generated HTML report contains executable JavaScript that runs when opened in a browser. Practical impact is limited because `vbhtml` and `yahtml` are legacy formats rarely used in practice. The default `html` format is properly escaped and not affected. Version 7.22.0 contains a fix for the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1