CVE: CVE-2026-44950
Продукт: Ubuntu
Дата публикации: 10.09.2026
Критичность: CRITICAL
CVSS: 9.5 (4.0)
EPSS: 0,44%; процентиль 37,00%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В клиенте font-server библиотеки libXfont2 обнаружено переполнение кучевого буфера при обработке данных глифов. Злоумышленник, контролирующий шрифтовой сервер, может отправить данные, вызывающие запись за пределы выделенной памяти. Материал описывает механику ошибки, перечень затронутых версий Ubuntu и способы проверки системы.
Основные характеристики
Уязвимость позволяет нарушителю, имеющему доступ к шрифтовому серверу, повредить память процесса клиента через специально сформированные данные глифов. Это может привести к выполнению кода или отказу в обслуживании.
- Тип ошибки: CWE-122 (Heap-based Buffer Overflow). Ошибка возникает при записи данных за пределы выделенного блока памяти.
- CVSS v4.0: 9.5 (CRITICAL). Вектор:
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H. Высокая оценка отражает сетевой вектор атаки и критическое влияние на конфиденциальность, целостность и доступность.
- CVSS v3.1 (Ubuntu): 9.8 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H. Ubuntu классифицирует уязвимость как medium, что может отражать сложность эксплуатации в типовых сценариях.
- Эксплуатация: Публичные данные о подтвержденной эксплуатации в реальных атаках отсутствуют.
- EPSS: 0,44% (процентиль 37,0%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая.
Какие продукты и версии затронуты
Уязвимость затрагивает пакет
libxfont (бинарный пакет libxfont2) в нескольких версиях Ubuntu. Для версий 14.04 LTS и 16.04 LTS также затрагивается пакет libxfont (бинарный libxfont1).- Ubuntu 14.04 LTS (Pro):
libxfontверсия1:1.4.7-1ubuntu0.4+esm2.
- Ubuntu 16.04 LTS (Pro):
libxfontверсия1:1.5.1-1ubuntu0.16.04.4+esm2.
- Ubuntu 16.04 LTS:
libxfont2версия1:2.0.1-3~ubuntu16.04.3.
- Ubuntu 18.04 LTS (Pro):
libxfontверсия1:2.0.3-1ubuntu0.1~esm2.
- Ubuntu 20.04 LTS (Pro):
libxfontверсия1:2.0.3-1ubuntu0.20.04.1~esm2.
- Ubuntu 22.04 LTS:
libxfontверсия1:2.0.5-1ubuntu0.2.
- Ubuntu 24.04 LTS:
libxfontверсия1:2.0.6-1+deb13u1build0.24.04.2.
- Ubuntu 26.04 LTS:
libxfontверсия1:2.0.6-2ubuntu0.2.
Причина уязвимости
Функция
fs_read_glyphs() в файле src/fc/fserve.c копирует битмапы глифов в единый буфер. Существующие проверки валидируют только то, что исходный срез (позиция, длина) находится в пределах исходного битмап-буфера.Проверка не контролирует, не превысил ли текущий указатель назначения (destination cursor) выделенный размер буфера. Это позволяет накопить записи, которые по отдельности проходят валидацию, но суммарно выходят за границы памяти.
Как работает атака
Злоумышленник, контролирующий шрифтовой сервер, отправляет клиенту данные с перекрывающимися смещениями источника. Например, 1000 глифов, каждый из которых ссылается на
{position:0, length:64} при nbytes=64.Каждый отдельный диапазон источника проходит существующую валидацию, так как он находится в пределах исходного битмапа. Однако суммарные записи составляют 64 000 байт, которые записываются в 64-байтовый буфер назначения. Это приводит к переполнению кучевого буфера с контентом, контролируемым атакующим.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо выполнение следующих условий:
- Контроль шрифтового сервера: Атакующий должен иметь возможность отправлять данные клиенту font-server. Это может быть скомпрометированный сервер или злонамеренный сервер, к которому подключается клиент.
- Подключение клиента: Клиентская система должна быть настроена на подключение к уязвимому шрифтовому серверу.
- Обработка данных: Клиент должен обработать специально сформированные данные глифов, вызывающие переполнение буфера.
Возможный сценарий атаки
Атакующий получает доступ к шрифтовому серверу или развертывает собственный сервер, который отправляет клиенту вредоносные данные. Клиентская система, использующая уязвимую версию
libxfont2, подключается к этому серверу.При запросе шрифтов сервер отправляет данные с перекрывающимися смещениями. Функция
fs_read_glyphs() обрабатывает эти данные, и суммарные записи превышают размер выделенного буфера. Это приводит к повреждению памяти, что может быть использовано для выполнения кода или вызова отказа в обслуживании.Есть ли публичный эксплойт
Публичные данные о подтвержденной эксплуатации CVE-2026-44950 в реальных атаках отсутствуют. В каталоге CISA KEV уязвимость не числится. Наличие технических описаний и PoC не подтверждено доступными официальными источниками.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для CVE-2026-44950 не раскрыты. Общие точки контроля, которые могут указывать на атакующую активность, включают:
- Аномальные сетевые соединения: Подключения к шрифтовым серверам из нестандартных источников или с подозрительными паттернами.
- Сегфолты процессов: Частые аварийные завершения процессов, использующих
libxfont2, особенно при обработке шрифтовых данных.
- Изменения в памяти: Признаки повреждения памяти или выполнения кода в процессах, связанных с обработкой шрифтов.
Как обнаружить атаку
Для обнаружения потенциальной эксплуатации уязвимости рекомендуется:
- Мониторинг сетевых соединений: Отслеживать подключения к шрифтовым серверам и анализировать аномалии в трафике.
- Анализ журналов: Проверять логи приложений, использующих
libxfont2, на наличие ошибок или аварийных завершений.
- Использование инструментов анализа памяти: Применять средства для обнаружения переполнений буфера и аномального поведения в памяти процессов.
Как проверить свою версию
Для проверки версии установленного пакета
libxfont и наличия обновлений используйте следующие команды:
Bash:
cat /etc/os-release
uname -r
apt-cache policy libxfont
ubuntu-security-status
Замените
libxfont на имя конкретного пакета, если требуется проверка другой версии. Команда ubuntu-security-status покажет статус безопасности системы и наличие доступных обновлений.Исправление
Для устранения уязвимости необходимо обновить пакет
libxfont до исправленной версии. Используйте следующие команды:
Bash:
sudo apt update
sudo apt upgrade libxfont
Для систем с Ubuntu Pro используйте:
Bash:
sudo apt update
sudo apt upgrade libxfont
После обновления перезапустите службы, использующие
libxfont2, чтобы изменения вступили в силу.Временные меры защиты
До применения исправления рекомендуется:
- Ограничить доступ к шрифтовым серверам: Настроить сетевые правила для ограничения подключений к шрифтовым серверам только из доверенных источников.
- Изолировать клиентские системы: Разместить системы, использующие
libxfont2, в изолированных сегментах сети.
- Мониторинг активности: Усилить мониторинг сетевых подключений и поведения процессов, связанных с обработкой шрифтов.
Как проверить устранение уязвимости
Для проверки успешного применения исправления выполните:
Bash:
apt-cache policy libxfont
Убедитесь, что версия пакета соответствует исправленной версии из официального репозитория. Также проверьте статус безопасности системы:
Bash:
ubuntu-security-status
Команда должна показывать, что все обновления безопасности применены.
Вывод
CVE-2026-44950 представляет серьезный риск для систем, использующих уязвимые версии
libxfont2. Администраторам необходимо проверить наличие уязвимых версий, применить обновления и усилить мониторинг сетевых подключений к шрифтовым серверам. Своевременное обновление и соблюдение мер временной защиты помогут снизить риск эксплуатации уязвимости.Официальные источники
История обновлений статьи
- 11.09.2026 — Опубликована первая версия материала.
- 14.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
