Смещение из небезопасного источника, и разыменуйте, может выйти за пределы
Этот дефект происходит, когда указатель разыменовывает, использует переменную смещения из неизвестного или небезопасного источника. Чтобы рассмотреть весь вход снаружи текущего аналитического периметра как небезопасный, используйте -consider-analysis-perimeter-as-trust-boundary
.
Эта проверка фокусируется на динамически выделенных буферах. Для статических буферных смещений смотрите Array access with tainted index
.
Индекс может найтись вне допустимой области значений массивов. Если испорченный индекс находится вне области значений массивов, он может вызвать:
Недостаточное наполнение буфера / подписывает, или пишущий в память перед началом буфера.
Переполнение буфера, или пишущий в память после конца буфера.
По чтению буфера или доступу к памяти после конца целенаправленного буфера.
Под чтением буфер или память доступа перед началом целенаправленного буфера.
Атакующий может использовать недопустимое чтение или записать, чтобы поставить под угрозу вашу программу.
Подтвердите индекс, прежде чем вы будете использовать переменную, чтобы получить доступ к указателю. Проверяйте, чтобы убедиться, что переменная в допустимой области значений и не переполняется.
Группа: испорченные данные |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки: TAINTED_PTR_OFFSET |
Удар: низко |
ID CWE: 122, 124, 129, 823 |
-consider-analysis-perimeter-as-trust-boundary
| Array access with tainted index
| Find defects (-checkers)