Аргумент формата ввода из небезопасного источника
Этот дефект происходит когда printf
- разработайте использование функций спецификатор формата, созданный из небезопасных источников. Чтобы рассмотреть весь вход снаружи текущего аналитического периметра как небезопасный, используйте -consider-analysis-perimeter-as-trust-boundary
.
Если вы используете внешне управляемые элементы, чтобы отформатировать строку, можно вызвать проблемы представления данных или переполнение буфера. Атакующий может использовать эти элементы форматирования строки, чтобы просмотреть содержимое стека с помощью %x
или запишите в стек с помощью %n
.
Передайте статическую строку функциям строки формата. Эта фиксация гарантирует, что внешний агент не может управлять строкой.
Другой возможная фиксация должен позволить только ожидаемое количество аргументов. Если возможно, используйте функции, которые не поддерживают уязвимый %n
оператор в строках формата.
Группа: испорченные данные |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки: TAINTED_STRING_FORMAT |
Удар: низко |
ID CWE: 134 |
-consider-analysis-perimeter-as-trust-boundary
| Find defects (-checkers)
| Tainted NULL or non-null-terminated string