VU#987105: Библиотека TrueType... Заметка

VU#987105: Библиотека TrueType nothings stb, до версии 1.26, содержит уязвимость переполнения кучи.

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