Google выпустила патч для уязвимости нулевого дня в компоненте своего веб-браузера Chrome, который активно эксплуатируется злоумышленниками.
Технический руководитель команды Google Project Zero security bughunting Бен Хоукс предупредил, что уязвимость используется для таргетинга на Chrome, но не предоставил никаких дополнительных подробностей об атаках.
Ошибка была сообщена исследователем Project Zero security Сергеем Глазуновым и подлежала семидневному сроку раскрытия из-за того, что она находилась в стадии активной эксплутации.
Он влияет на механизм рендеринга FreeType с открытым исходным кодом, используемый в Chrome, и может быть использован с помощью специально созданных шрифтов со встроенными PNG-изображениями.
Значения ширины и высоты, полученные в заголовке файла для PNG-изображения, усекаются до 16 бит и используются для вычисления результирующего размера растрового изображения, но ошибка в библиотеке вызывает переполнение буфера кучи.
«Проблема в том, что libpng использует исходные 32-битные значения, которые сохраняются в `png_struct`. Поэтому, если исходная ширина и/или высота больше 65535, выделенный буфер не сможет вместить растровое изображение», — написал Глазунов в своем отчете об ошибке.
Файл шрифта с доказательством концепции был опубликован Глазуновым.
В дополнение к нулевому дню FreeType Google также исправил серьезные дефекты в движке рендеринга Blink Chrome, а также три ошибки повреждения памяти после использования в PDFium, а также функции мультимедиа и печати браузера.
Исправленная версия Chrome-86.0.4240.11 для дистрибутивов Windows, macOS и Linux.
Поскольку этот недостаток существует в FreeType, другим поставщикам, использующим механизм рендеринга шрифтов, рекомендуется обновить его до фиксированной версии 2.10.4.