Проблема в том, что вы используете имя заголовка («SampleHeader») для принятия логического решения в вашем коде.
Данные, предоставленные пользователем, такие как параметры URL, полезные данные POST или файлы cookie, всегда должны рассматриваться как ненадежные и испорченные. Приложения, регистрирующие испорченные данные, могут позволить злоумышленнику ввести символы, которые нарушат шаблон файла журнала. Это может быть использовано для блокировки мониторов и систем SIEM (информация о безопасности и управление событиями) от обнаружения других вредоносных событий.
В этом случае, если я хочу обмануть вашу программу, добавив новый заголовок в список headers
Мне просто нужно отправить скручивание следующим образом:
curl -X GET http://localhost/your/path --header 'SampleHeader: someValue'
Эту проблему можно решить, очистив предоставленные пользователем данные перед их регистрацией.
Что SonarQube пытается вам сказать, так это Вы выставляете свои логи c на вход от клиентов. Лучшим решением будет рефакторинг вашего кода, чтобы он не зависел от указанного c заголовка от клиента для выполнения какого-либо действия. Трудно предложить пример кода, не видя немного больше кодовой базы.
Надеюсь, это поможет!