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