Входной формат аргумента из небезопасного источника
Этот дефект возникает при 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