The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость во FreeType, позволяющая выполнить код при обработке шрифтов

13.03.2025 14:13

В библиотеке отрисовки шрифтов FreeType выявлена уязвимость (CVE-2025-27363), которая потенциально может привести к выполнению кода при обработке специально оформленных файлов с вариативными шрифтами или шрифтами в формате TrueType GX. Проблема проявляется только в выпусках FreeType до версии 2.13.0 включительно и устранена в версии 2.13.1 (июнь 2023 года). Предполагается, что уязвимость уже применялась ранее для совершения атак.

Уязвимость вызвана переполнением буфера, возникающем при разборе субглифовых структур (subglyph) в шрифтах. Переполнение возникает из-за присвоения переменной с типом "signed short", участвующей в вычислении размера буфера, значения с типом "unsigned long", в результате чего может возникнуть целочисленное переполнение и выделение буфера неверного размера. В последующем за пределы данного буфера записывается как минимум 6 знаковых целых чисел с типом "long".

Проследить за появлением обновлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Судя по статистике используемых версий, уязвимые версии FreeType поставляются в дистрибутивах Amazon Linux 2, Debian stable / Devuan, RHEL 8 и 9 (+ CentOS Stream и производные дистрибутивы), GNU Guix, Mageia, OpenMandriva, openSUSE Leap, Slackware и Ubuntu 22.04.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Релиз шрифтового движка FreeType 2.13
  3. OpenNews: Уязвимость во FreeType, эксплуатируемая через TTF-шрифт и затрагивающая браузеры
  4. OpenNews: Google и Adobe передали проекту FreeType код нового растеризатора шрифтов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62875-freetype
Ключевые слова: freetype, font
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 14:24, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А когда добавили? В прошлый раз была уязвимость с шрифтами в формате png. Так теперь и не отключить png во freetype стало.
     
     
  • 2.34, Аноним (34), 20:42, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хороший вопрос... Ибо вариативные шрифты придумала в 2016 году группа компаний Adobe, Apple, Google и Microsoft.
     
     
  • 3.44, Аноним (44), 23:57, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошие компании
     
  • 3.49, Аноним (49), 01:24, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > вариативные шрифты придумала в 2016 году группа
    > компаний Adobe, Apple, Google и Microsoft.

    Ужасные компании!
    Мало того что платиновые спонсоры линукс фаундейшн, так еще умудяются наложить в штаны freedesktop'у, создавая стандарты который фридесктопчики ниасиливают!
    Подбросили CVE вот так прямо в их репозиторий!

     
     
  • 4.64, крабб (?), 09:36, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    это пять!
     

  • 1.3, Аноним (3), 14:26, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Никогда такого не было и вот опять
     
  • 1.4, Аноним (4), 14:36, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Заходя в эту новость, я уже предвкушал, что тут будет переполнение буфера.
     
     
  • 2.13, Аноним (13), 15:20, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Пора это уже в спецификации языка Си указать, что буфер -- это то, за пределы чего должен выйти любой уважающий себя сишник. Закрепить, так сказать, официально этот стандарт де-факто.
     
     
  • 3.60, Смузихлеб забывший пароль (?), 07:49, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > из-за присвоения переменной с типом "signed short",
    > участвующей в вычислении размера буфера, значения с типом "unsigned long"

    Просто диды - мастера не только в индексах, но и в преобразованиях типов которые сами себе напридумывали в т.ч ради экономии на спичках, точнее, отдельных байтах

     

  • 1.5, DeerFriend (?), 14:43, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    freetype-2.13.1-1.fc39
    created a year ago for Fedora 39

    какой смысл писать про такие древности?

     
     
  • 2.8, НяшМяш (ok), 14:55, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Любители дебиана уже дуреют с 2.12.1+dfsg-5+deb12u3 прикормки.
     
     
  • 3.15, kai3341 (ok), 15:27, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Точно подмечено
     
  • 3.32, Аноним (32), 18:11, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    таки и не все на 12-ом (!)
    2.10.4+dfsg-1+deb11u1 all
     
  • 2.22, Аноним (2), 15:53, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Всего год? В генту уязвимая 2.13.0 до сих пор стабильная. А теперь представь сколько софта тащит только эту версию (и сколько более старые), у нас же деды-специалисты говорят обновляться стыдно и в то же время юнцы-специалисты топят за статическую линковку или как минимум таскать всё бандлом.
     
     
  • 3.38, dannyD (?), 21:31, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    не нада ля-ля

    в генту зеленое 2.13.3

     
     
  • 4.39, Аноним (2), 21:33, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > не нада ля-ля
    > в генту зеленое 2.13.3

    все 3 зелёные (2.13.0 2.13.2 2.13.3), крайне странное решение.

     
     
  • 5.40, dannyD (?), 21:36, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну может зависимости какие, каким-то пакетам нужны устаревшие версии.
     
  • 5.41, Аноним (2), 21:37, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Причём, 2.13.3 уже почти год без обновлений, хочешь свежей собирай из гита и софт к этому может весьма плохо отнестись. Ситуация довольно патовая, ключевая либа такая дохлая -- одни уязвимости добавляют по мере надобности.
     

  • 1.7, Аноним (7), 14:54, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Дарка от бублика наш линукс злосчастный.
    К тому же, если учесть, что код всем открыт. Чем там все кичатся.
    Кто бы что ни говорил, но зачастую это банальный кактус, который мы с ехидной улыбкой, как у 20-летних заносчивых супэраутишников, жуём все вместе.
    Ну.. жуём дальше господа ))
     
     
  • 2.59, Аноним (59), 07:30, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Согласен, надо ставить проприетарную Solaris от Oracle.
     
     
  • 3.67, Аноним (67), 10:34, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    лучше такой же астра линкус
    там манда ты
     
  • 2.61, ИмяХ (ok), 08:03, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>код всем открыт. Чем там все кичатся.

    Странный повод, чтоб кичиться. Ведь благодаря открытому коду любой школьник может прочитать diff закрытия свежей уязвимости и по быстрому написать зловред для тех, кто ещё не успел обновиться.

     
     
  • 3.65, Аноним (65), 10:13, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не любому это надо, у кого-то и детство есть.
     
     
  • 4.71, Аноним (71), 12:20, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Cчастливые люди, приятно слышать что такие ещё остались.
     
  • 2.74, Аноним (74), 13:22, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, в проприетарных ОС-подобных поделиях уязвимости просто никто не ищет, поэтому там их количество постоянно растёт.
     

  • 1.9, Аноним (9), 15:00, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Amazon Linux 2, Debian stable / Devuan, RHEL 8 и 9

    Вся суть "стабильных" дистрибутивов.

     
     
  • 2.10, Аноним (10), 15:11, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так? Стабильные дистры затаскивают и бекпортируют себе фикс уязвимостей. Стабильные дистры не тащат новые фичи, которые ломают поведение библиотек/программ.
     
     
  • 3.18, Аноним (-), 15:37, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Стабильные дистры затаскивают и бекпортируют себе фикс уязвимостей.

    Ну-ну. Проблема была исправлена еще в 2023 году.
    А сейчас на календаре 2025й, но окаменевший деб все еще уязвим
    security-tracker.debian.org/tracker/CVE-2025-27363

    Вот где бекпорт??

     
     
  • 4.23, Аноним (10), 16:16, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дак выявили проблему в этом году. Как они могли себе фикс бекпортировать, если проблема еще не была обнаружена?
     
     
  • 5.29, Аноним (-), 16:56, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Дак выявили проблему в этом году.

    Проблемы выявили и исправили еще в 2023. Просто тогда не осознали насколько она проблемная.

    > Как они могли себе фикс бекпортировать, если проблема еще не была обнаружена?

    Но из-за того, что некродистры не забирают фиксы обычных багов, а только тех, которые оценили как критику, то естественно ее никто не забирал.
    Причем для нормальных дистров это проблемой не стало - они просто обновились и забыли.

    В итоге в шта6ильных сурьезных дистрах типа RHEL9 дырень прожила на полтора года дольше чем во всяких рачах и бубунтах

     
     
  • 6.31, User (??), 17:51, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты не бойся, в рачах уже четыре новые слопатили)
     
  • 5.35, Аноним (9), 21:13, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Дак выявили проблему в этом году. Как они могли себе фикс бекпортировать, если проблема еще не была обнаружена?

    Обновившись до актуальной версии, прикинь.

     
  • 3.36, Аноним (9), 21:14, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А что не так? Стабильные дистры затаскивают и бекпортируют себе фикс уязвимостей.

    Не так то что ничего они не затаскивают и не бэкпортируют, как иллюстрирует этот случай. А просто злонамеренно держат в репах тухлые дырявые версии.

     

  • 1.11, Аноним (11), 15:14, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Я забыл, дум уже запустили в шрифте или мне приснилось?
     
     
  • 2.45, Аноним (44), 23:58, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    GTA запустили
     
  • 2.51, Аноним (51), 01:49, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://fuglede.github.io/llama.ttf/
     

  • 1.12, Fracta1L (ok), 15:17, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разрабы freetype просто не умеют писать на сишке, вот местные комментаторы никогда бы не допустили такого бага.
     
  • 1.16, Ivan_83 (ok), 15:31, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > до версии 2.13.0 включительно и устранена в версии 2.13.1 (июнь 2023 года).

    А что за некронвости такие!?

    freetype2-2.13.3 уже стоит из портов.

    Опять у растовиков обострение и пообщатся захотелось?

     
     
  • 2.17, Аноним (-), 15:35, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А что за некронвости такие!?

    Обычные некроновости для некродистров вроде Debian stable / Devuan, RHEL 8 и 9 и так далее.
    Потому что исправлено оно было в июне 2023 года, но не помечено как CVE.
    Поэтому бекпорта не было.

    > Опять у растовиков обострение и пообщатся захотелось?

    О чем тут общаться? Типикал сишная дыра, никогда такого не было и вот опять.
    А вот предупредить некролюбов что нужно обновиться - это доброе дело.

     
     
  • 3.21, Ivan_83 (ok), 15:50, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот предупредить некролюбов что нужно обновиться - это доброе дело.

    Скорее всего систем со старой либой где шрифт с эксплоитом можно загрузить и "заюзать" единицы, они не представляют интереса, если только в таргетированных атаках.

     
     
  • 4.24, 12yoexpert (ok), 16:22, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    все корпоративные дистры со старыми либами
     

  • 1.25, Аноним (25), 16:28, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Годно. Теперь код необязательно запускать, достаточно открыть его в редакторе, чтобы произошел взлом.
     
     
  • 2.26, Аноним (2), 16:47, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Достаточно открыть страничку в интернете без дефолтной блокировки шрифтов ublock. Будь готовые прототипы в паблике, можно было бы использовать их их для обхода цифровой тюрьмы¸а так ничего хорошего.
     
  • 2.28, Аноним (-), 16:47, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Раньше было лучше (с)
    В 2020 у них была 0-day дырень [1], которая мало того что активно эксплуатировалась.
    Так еще и работала через браузер (хром и лиса).
    И работала на андроиде.

    Вот это уровень!

    [1] opennet.ru/opennews/art.shtml?num=53922

     
  • 2.33, Аноним (33), 18:32, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Перед этим правдва надо установить нужный шрифт, и вот потом уже да.
     

  • 1.30, Аноним (30), 17:46, 13/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если это жадность до ОЗУ, то это необоснованно, т.к. в 32 битных системах переменная всё равно по факту займет 32 бита (если не извращаться, и к массивам не относится), а в 64-битной - 64. Более того, если говорить о микроконтроллерах с Cortex M, то там в некоторых случаях придется дополнительно выполнить команды SXTB, SXTH, UXTB и UXTH при операциях с меньшими по разрядности типами.
     
     
  • 2.37, Аноним (9), 21:19, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > т.к. в 32 битных системах переменная всё равно по факту займет 32 бита (если не извращаться, и к массивам не относится), а в 64-битной - 64

    Да ты что.

     
     
  • 3.63, Аноним (63), 08:18, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Прикинь, в ОЗУ Cortex M0 оно так по умолчанию.
     
  • 2.42, Аноним (-), 21:38, 13/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в 32 битных системах переменная всё равно по факту займет 32 бита

    Да ладно? Так уж и займёт 32 бита?

    Попробуй такое:

    struct test {
        char a;
        char b;
        char c;
        char d;
    };

    struct test var;

    assert!(sizeof(var) == 16);

    Отметь, это не массив нисколько.

    > в некоторых случаях придется дополнительно выполнить команды SXTB, SXTH, UXTB и UXTH при операциях с меньшими по разрядности типами.

    Ага. Это ты ещё не видел как битовые поля распаковывают в представление, над которым затем можно выполнять осмысленные операции.

     
     
  • 3.47, _kp (ok), 00:14, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Выравнивание подобной структуры, если об упаковке явно не указано, зависит и от платформы, и от уровня оптимизации, и конкретного компилятора.

    >>Ага

    Полагаться на то что выдал sizeof  - некорректно.
    Ваше утверждение тоже неверное.
    Правильный ответ: неопределенный размер. Хотя и с большой вероятностью 32 или 128 бит, но не конкретное  значение.

     
     
  • 4.52, Аноним (52), 02:59, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Какое утверждение Где и что я утверждал Вы assert сочли утверждением Это не... большой текст свёрнут, показать
     
     
  • 5.56, _kp (ok), 04:32, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, утверждение не Ваше, лишне я сказал.
    Но, в остальном, мы друг друга поняли все равно верно.

    >>Если вы укажете мне десктопную/серверную* систему в которой это правило не работает

    Вы подметили про оптимизацию, а она может быть и под конкретную серию процессоров, и учитывать внутренниие нюансы скорости, особенности кэша..
    В общем полагаться на то как уложит структуру компилятор "по умолчанию" в любом случае не стоит.

    >>эмбедщина не интересна

    Сейчас там отличий от десктопного кода все меньше

    >>Мне не понятно это ваше заявление, равно как и ваш отказ полагаться на то, что говорит sizeof

    Не верно полагаться но именно на то, что sizeof выдаст предполагаемый размер.
    А если он проверяется в рантайме, то конечно, ему тогда уже нужно доверять. ;)

     
  • 5.57, Аноньимъ (ok), 04:32, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Одно из свойств C, которое делает его незаменимым везде, это фиксированный ABI. Да, этот ABI зависит от платформы

    🤣🤣🤣🤣🤣

    Это капец.

     
  • 3.62, Аноним (63), 08:17, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Речь о переменных, а не о полях структуры, помимо массивов. И речь идет о жадности, а на операции с битовыми полями сколько инструкций нужно выполнить?
     

  • 1.53, мяв (?), 04:12, 14/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в очередной раз доказывает несостоятельность разного рода изкоробочных селинуксов и подчеркивает нужность МАСов.
     
  • 1.54, мяв (?), 04:14, 14/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >из-за присвоения переменной с типом "signed short", участвующей в вычислении размера буфера, значения с типом "unsigned long",

    госпади, на это же все современные компиляторы жалуются.
    как это произошло вообще ?

     
     
  • 2.55, Аноньимъ (ok), 04:31, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Варнинги отключили. Иначе память при компиляции ими переполнялась.
     
     
  • 3.69, Аноним (69), 10:57, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Гспди, рукалицо, если это правда.
     

  • 1.68, Аноним (69), 10:56, 14/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >устранена в версии 2.13.1 (июнь 2023 года)

    Тю.

     
  • 1.70, svsd_val (ok), 12:13, 14/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    ИМХО,
    не обращайте внимание, мысли в слух xD


    Вам не смешно читать, комменты, "вумных" людей, которые говорят как всё плохо и как надо, и о защите от ошибок программистов... И тем более о Сях как о плохом языке. И из них никто даже близко не берётся подумать что быстрее сей ТОЛЬКО ассемблер с ОЧЕНЬ читаемым кодом и Очень независимыми от платформы командами xD... Си же читабелен, понятен и многое упрощает (хотя и там для специфичных команд платформ юзается асм). И да, только благодаря отсутствию лишних проверок который компилятор возлагает на человека, получается достичь этих скоростей.


    Даже одна лишняя проверка в цикле на уровне ядра не в удачном месте может много порезать... А так, ну да, могут писать на языках с кучей проверок на каждый пук и получится производительность как у питона ;D Вот, тогда-то "заживём" будут защищённые ОС от простых ошибок ("Супер скоростные", что тормозить будут на последних рязанях с 128ядрами, а оперативки в 256гб будет мало даже на запуск тетриса xD ), но не от человеческого фактора (x_(x_x(O_o)x_x)_x) И там снова будут ошибки и с нова будут бэкдоры

     
     
  • 2.72, Weders (ok), 13:10, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так и будет, просто пока бэкдоры и ошибки в коде на русте - это вина погромиста,а вот в сях/крестах - это дырявый язык, понимать надо.
     
  • 2.73, Аноним (-), 13:18, 14/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Неа, к сожалению не смешно Когда мой комп могут взломать просто поставив специ... большой текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру