Запись за границы буфера
Out-of-bounds Write
CWE-787 — запись за границы буфера: код записывает данные за пределы выделенной области памяти. Ошибка возникает в C и C++ при копировании строк, разборе сетевых данных или работе с массивами фиксированного размера. Злоумышленник повреждает память процесса и получает выполнение произвольного кода или отказ в обслуживании.
Как защититься от CWE-787
Чтобы защититься от CWE-787, применяйте проверенные библиотеки безопасных строковых функций: SafeStr или Strsafe.h вместо strcpy и sprintf. Проверяйте фактический размер буфера перед копированием и усекайте входные данные до разумной длины. Копируйте функциями с параметром длины (snprintf, memcpy), помня, что strncpy не всегда добавляет завершающий нуль, и включите режимы /GS и FORTIFY_SOURCE.
Уязвимости с типом CWE-787 (50)
Отслеживайте уязвимости автоматически
КиберОснова SGRC: учёт уязвимостей CWE-787 и других типов из БДУ ФСТЭК, задачи на устранение с плановым сроком.

