Индекс массива из небезопасного источника, возможно, за пределами границ массива
Этот дефект возникает, когда вы получаете доступ к массиву с помощью индекса, который получен из небезопасных источников и который не был проверен. Чтобы считать все входы за пределами периметра анализа тока небезопасными, используйте -consider-analysis-perimeter-as-trust-boundary
.
Возможно, индекс находится вне допустимой области значений массивов. Если испорченный индекс находится вне области значений массивов, это может вызвать:
Buffer underflow/underwrite - запись в память перед началом буфера.
Переполнение буфера - запись в память после окончания буфера.
Перечитывание буфера - доступ к памяти после окончания целевого буфера.
Недостаточное чтение буфера или доступ к памяти перед началом целевого буфера.
Атакующий может использовать недопустимую операцию чтения или записи, созданную для проблем в вашей программе.
Прежде чем использовать индекс для доступа к массиву, проверьте значение индекса, чтобы убедиться, что он находится внутри области значений массива.
Группа: испорченные данные |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки: TAINTED_ARRAY_INDEX |
Влияние: Средний |
ИДЕНТИФИКАТОР CWE : 121, 124, 125, 129 |
-consider-analysis-perimeter-as-trust-boundary
| Find defects (-checkers)
| Loop bounded with tainted value
| Pointer dereference with tainted offset
| Tainted size of variable length array