
простое приложение с (недостижимой!) уязвимостью CVE-2022-45688
Проект содержит зависимость json.org с уязвимостью CVE-2022-45688.
Он действительно вызывает уязвимый класс, но входные данные очищаются (с помощью простого метода подсчёта символов <, позволяющего оценить максимальную глубину генерируемого DOM-дерева, и наложения предусловия, что эта глубина должна быть меньше 1000)
и поэтому уязвимость не может быть использована для DoS-атаки.
Как анализ состава программного обеспечения на основе метаданных, так и анализ на основе графа вызовов дадут ложное срабатывание. Чтобы точно определить, уязвимо ли приложение, требуется более сложный межпроцедурный анализ потоков данных / taint-анализ.
Обратите внимание, что существует тест для подтверждения уязвимости (proof-of-vulnerability), демонстрирующий уязвимость; этот тест (а следовательно, и сборка с помощью mvn test)
завершается неудачей. О том, как работает тест, см. https://github.com/scabench/jsonorg-tp1.
Имеется несколько sh-скриптов для запуска различных анализов; отчёты о результатах можно найти в scan-results.