TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.13K subscribers
Post #1134 858
Как шрифт может взломать Android

На днях попался прекраснейший разбор уязвимости CVE-2025-27363 в системной библиотеке для показа шрифтов FreeType, которая в том числе используется в Android и её применение в WhatsApp. Мне кажется, это очень красивый эксплойт.

Пусть меня исправят профессиональные reverse-инженеры, если я спутал детали, но кратко она работает так.

Внутри многих PDF содержится собственный шрифт. Это стандартная практика: PDF на то и PDF, чтобы он выглядел максимально одинаково на разных устройствах.

В WhatsApp у многих пользователей включено превью показа PDF-документов, и в момент его создания библиотека FreeType начинает обрабатывать этот шрифт.

Дальше начинается магия. В библиотеке есть примерно такой код:

limit = (FT_Short)gloader->current.num_subglyphs;
FT_NEW_ARRAY(points, limit + 4);


Здесь:

• num_subglyphs — количество компонентов символа.
• FT_Short — знаковое 16-битное число.
• FT_NEW_ARRAY — выделение памяти под массив.

Ключевая деталь: FT_Short может хранить значения от −32768 до 32767.

Но атакующий делает шрифт, у которого количество компонентов символа равно: num_subglyphs = 65533; // 0xFFFD, а в результате получается преобразование (FT_Short)65533 == -3, и выделение памяти происходит FT_NEW_ARRAY(points, 1), то есть под один элемент.

А дальше FreeType выполняет следующий код:

points[0] = loader->pp1; //допустимая запись, а остальное — вне памяти
points[1] = loader->pp2;
points[2] = loader->pp3;
points[3] = loader->pp4;


и только первые 16 байт выполняются в своей памяти, а остальные 48 байт — вне её.

Это называется Out-of-Bounds Write (OOB Write).

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

В статье говорится, что есть подтверждённые целевые атаки на 90+ целей из разных стран.

Особенно впечатляет, что в описанном сценарии атака потенциально становится zero-click: пользователю даже не требуется открывать PDF, достаточно автоматической обработки документа приложением. Не забывайте обновлять систему патчами безопасности!
Mobilehackinglab CVE-2025-27363: The FreeType Vulnerability That Turned Fonts Into Spyware Delivery — Mobile Hacking Lab A signed-short truncation in FreeType ≤ 2.13.0 was actively exploited via WhatsApp PDF auto-preview to target journalists across 24 countries. We reproduced the crash on a real Samsung Galaxy S20+ with AddressSanitizer.
  • 🤯 12
  • 😱 6
  • 👍 4
  • 🔥 4
  • 🤩 1
More from @android_live
  1. Oct 9, 2026Выбираем своего персонажа 😎
  2. Oct 6, 2026Git --delete-merged На днях узнал про любопытную команду в Git — --delete-merged . Суть пр…
  3. Oct 5, 2026Почему Android-эмулятор жрёт 8 ГБ? На днях попался репозиторий с CLI-тулзой, которая обеща…
  4. Sep 29, 2026Post #1130
  5. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  6. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →