Целочисленное переполнение
Integer Overflow
CWE-190 — целочисленное переполнение: арифметика даёт значение за пределами типа. Ошибка возникает при расчёте размера буфера или счётчика в коде на C и C++, когда суммируются элементы или умножается размер на количество. Злоумышленник подбирает значения, дающие переполнение, и получает малое или отрицательное число: память выделяется слишком маленькой.
Как защититься от CWE-190
Чтобы защититься от CWE-190, проверяйте диапазон числовых входных значений до арифметики: отклоняйте значения вне ожидаемых границ, используйте беззнаковые типы, где это возможно, и учитывайте минимальные и максимальные значения типа при проверке знаковых чисел. Работайте с числами через библиотеки SafeInt или IntegerLib, различайте разрядность значений и приведение типов, а предупреждения компилятора о знаковых и беззнаковых сравнениях устраняйте.
Уязвимости с типом CWE-190 (50)
Отслеживайте уязвимости автоматически
КиберОснова SGRC: учёт уязвимостей CWE-190 и других типов из БДУ ФСТЭК, задачи на устранение с плановым сроком.

