Аргумент размера данных не вычисляется из фактической длины данных
Этот дефект происходит, когда вы не проверяете аргумент аргумента длины и буфера данных функций копирования памяти, таких как memcpy
, memset
, или memmove
, защищать от переполнения буфера.
Если атакующий может управлять буфером данных или аргументом длины, атакующий может вызвать переполнение буфера путем создания фактического размера данных меньшим, чем длина.
Это несоответствие в длине позволяет атакующему копировать память мимо буфера данных к новому местоположению. Если дополнительная память содержит уязвимую информацию, атакующий может теперь получить доступ к тем данным.
Этот дефект похож на SSL ошибка Heartbleed.
При копировании или управлении памятью, вычислите аргумент длины непосредственно из данных так, чтобы размеры соответствовали.
Группа: безопасность |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки: DATA_LENGTH_MISMATCH |
Удар: Средняя |
ID CWE: 130, 240 |