Индекс массива из небезопасного источника возможно вне границ массивов
Этот дефект происходит, когда вы получаете доступ к массиву при помощи индекса, который получен из небезопасных источников и который не был подтвержден. Чтобы рассмотреть весь вход снаружи текущего аналитического периметра как небезопасный, используйте -consider-analysis-perimeter-as-trust-boundary
.
Индекс может найтись вне допустимой области значений массивов. Если испорченный индекс находится вне области значений массивов, он может вызвать:
Недостаточное наполнение буфера / подписывает — пишущий в память перед началом буфера.
Переполнение буфера — пишущий в память после конца буфера.
Зачитываясь буфер — доступ к памяти после конца целенаправленного буфера.
Под чтением буфер или память доступа перед началом целенаправленного буфера.
Атакующий может использовать недопустимую операцию чтения, или операция записи создают к проблемам в вашей программе.
Перед использованием индекса, чтобы получить доступ к массиву, подтвердите значение индекса, чтобы убедиться, что это в области значений массивов.
Группа: испорченные данные |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки: TAINTED_ARRAY_INDEX |
Удар: Средняя |
ID 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