VU#987105: Библиотека TrueType nothings stb, до версии 1.26, содержит уязвимость переполнения кучи.
В библиотеке stb TrueType, в частности в версиях 1.26 и более ранних, выявлена уязвимость переполнения буфера в куче.
Эта уязвимость возникает из-за некорректной обработки некорректных данных шрифта TrueType (TTF) в функции stbtt_GetGlyphShape().
Проблема возникает при разборе контуров глифов, где функция итерирует на основе информации об конечных точках контура.
Однако она не проверяет, остается ли указатель на эти точки в пределах выделенного буфера данных глифа.
Злоумышленник может использовать это, создав вредоносный файл TTF с чрезмерным количеством конечных точек и недостаточным количеством данных глифа.
Когда приложение обрабатывает этот некорректный шрифт с помощью stbtt_GetGlyphShape(), это может привести к чтению за пределами выделенной области памяти кучи.
Основным последствием этой уязвимости является отказ в обслуживании (DoS) из-за сбоев приложения, вызванных недопустимым доступом к памяти.
Кроме того, злоумышленники могут раскрыть конфиденциальную информацию, читая соседнюю память кучи.
К сожалению, разработчики stb пока не были доступны для координации исправления, поэтому пользователям следует следить за обновлениями на GitHub проекта.
В качестве меры предосторожности пользователям рекомендуется учитывать предупреждение в файле README проекта относительно возможных задержек с исправлениями безопасности.