Запрос calloc() в С используется для динамического распределения памяти. Например, инициализация массива объектов в С++: 

pointer = new SomeClass[n]; 

При вычислении выделяемого количества памяти уязвимые
реализации функции calloc() не проверяют возможность целочисленного переполнения буфера. Если требуемое количество выделяемой памяти превышает самое большое значение, которое может быть представлено машинным словом, выделяемой памяти будет недостаточно для размещения всех данных. При этом процедура возвратит успешный ответ. 

Эта уязвимость может затрагивать безопасность системы. Переполнение буфера может произойти, если приложение попытается записать
данные вне границ выделенной памяти.

Уязвимость обнаружена в:

dietlibc dietlibc 0.18
GNU gcc 2.7.2
GNU gcc 2.95
GNU gcc 3.0
GNU gcc 3.1.1
GNU glibc 2.0
GNU glibc 2.0.1
GNU glibc 2.0.2
GNU glibc 2.0.3
GNU glibc 2.0.4
GNU glibc 2.0.5
GNU glibc 2.0.6
GNU glibc 2.1
GNU glibc 2.1.1 -6
GNU glibc 2.1.1
GNU glibc 2.1.2
GNU glibc 2.1.3 -10
GNU glibc 2.1.3
GNU glibc 2.1.9 and Greater
GNU glibc 2.2
GNU glibc 2.2.1
GNU glibc 2.2.2
GNU glibc 2.2.3
GNU glibc 2.2.4
GNU glibc 2.2.5
GNU glibc 2.3.10
GNU glibc2 2.3.10
GNU GNAT 3.14 b
Microsoft Visual C++ 4.0
Microsoft Visual C++ 6.0

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии