CVE-2026-17545 в Ubuntu: PHP, Windows-устройства и истощение рабочих процессов

CVE: CVE-2026-17545
Продукт: Ubuntu
Дата публикации: 26.09.2026
Критичность: MEDIUM
CVSS: 6.9 (4.0)
EPSS: 0,32%; процентиль 22,78%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В PHP на Windows файловые и потоковые API не отклоняют зарезервированные имена устройств, такие как CON, PRN, AUX, NUL, COM1–COM9, LPT1–LPT9, CONIN$ и CONOUT$, когда они входят в состав пути. Контролируемый нарушителем файл доходит до CreateFileW(), система открывает устройство вместо обычного файла, а запрос блокируется или зависает. Повторные обращения истощают пул рабочих процессов веб-сервера.

Основные характеристики​


Уязвимость затрагивает PHP в Windows-окружении и приводит к отказу в обслуживании через зависание потоков при открытии системных устройств.

  • Тип ошибки: CWE-67 — неправильная обработка имени устройства при открытии файла
  • CVSS: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X — оценка 6.9, средняя
  • Условия атаки: удалённый доступ к PHP-приложению на Windows с возможностью управления именем файла в пути
  • Факт эксплуатации: не подтверждён в предоставленных источниках
  • EPSS: 0,32% (процентиль 22,78%) — вероятность эксплуатации в реальных атаках низкая

Какие продукты и версии затронуты​


В Ubuntu затронуты пакеты PHP на нескольких дистрибутивах и версиях.

  • Ubuntu:Pro:14.04:LTS — php5 версии 5.5.9+dfsg-1ubuntu4.29+esm16, включая libapache2-mod-php5, libapache2-mod-php5filter, libphp5-embed, php-pear, php5, php5-cgi, php5-cli, php5-common, php5-curl, php5-enchant, php5-fpm, php5-gd
  • Ubuntu:Pro:16.04:LTS — php7.0 версии 7.0.33-0ubuntu0.16.04.16+esm20, включая libapache2-mod-php7.0, libphp7.0-embed, php7.0, php7.0-bcmath, php7.0-bz2, php7.0-cgi, php7.0-cli, php7.0-common, php7.0-curl, php7.0-dba, php7.0-enchant, php7.0-fpm
  • Ubuntu:Pro:18.04:LTS — php7.2 версии 7.2.24-0ubuntu0.18.04.17+esm12, включая libapache2-mod-php7.2, libphp7.2-embed, php7.2, php7.2-bcmath, php7.2-bz2, php7.2-cgi, php7.2-cli, php7.2-common, php7.2-curl, php7.2-dba, php7.2-enchant, php7.2-fpm
  • Ubuntu:Pro:20.04:LTS — php7.4 версии 7.4.3-4ubuntu2.29+esm3, включая libapache2-mod-php7.4, libphp7.4-embed, php7.4, php7.4-bcmath, php7.4-bz2, php7.4-cgi, php7.4-cli, php7.4-common, php7.4-curl, php7.4-dba, php7.4-enchant, php7.4-fpm
  • Ubuntu:22.04:LTS — php8.1 версии 8.1.2-1ubuntu2.26, включая libapache2-mod-php7.4, libapache2-mod-php8.0, libapache2-mod-php8.1, libphp8.1-embed, php8.1, php8.1-bcmath, php8.1-bz2, php8.1-cgi, php8.1-cli, php8.1-common, php8.1-curl, php8.1-dba
  • Ubuntu:24.04:LTS — php8.3 версии 8.3.6-0ubuntu0.24.04.11, включая libapache2-mod-php8.3, libphp8.3-embed, php8.3, php8.3-bcmath, php8.3-bz2, php8.3-cgi, php8.3-cli, php8.3-common, php8.3-curl, php8.3-dba, php8.3-enchant, php8.3-fpm
  • Ubuntu:26.04:LTS — php8.5 версии 8.5.4-0ubuntu1.3, включая libapache2-mod-php8.5, libphp8.5-embed, php8.5, php8.5-bcmath, php8.5-bz2, php8.5-cgi, php8.5-cli, php8.5-common, php8.5-curl, php8.5-dba, php8.5-enchant, php8.5-fpm

Причина уязвимости​


PHP не отклоняет зарезервированные имена устройств Windows, такие как CON, PRN, AUX, NUL, COM1–COM9, LPT1–LPT9, CONIN$ и CONOUT$, когда они появляются как компонент пути.

Имя файла, контролируемое нарушителем, передаётся в CreateFileW() без проверки. Системный вызов открывает устройство вместо обычного файла, на который рассчитывало приложение.

Запрос блокируется или зависает, а рабочие процессы веб-сервера истощаются.

Как работает атака​


Нарушитель направляет PHP-запрос с именем файла в пути, содержащим зарезервированное имя устройства Windows. Например, путь может включать CON, NUL или COM1.

PHP передаёт это имя в CreateFileW() без проверки на соответствие обычному файлу. Система открывает устройство вместо файла.

Открытие устройства блокирует поток выполнения PHP-процесса. При повторных запросах рабочие процессы истощаются, что приводит к отказу в обслуживании веб-приложения.

Условия успешной эксплуатации​


Для успешной эксплуатации необходимы следующие условия:

  • Удалённый доступ к PHP-приложению на Windows с возможностью управления именем файла в пути
  • Возможность передачи имени устройства как компонента пути в запросе
  • Работа PHP в окружении, где вызов CreateFileW() обрабатывает имя устройства без блокировки

Возможный сценарий атаки​


Нарушитель отправляет HTTP-запрос к PHP-скрипту на Windows с параметром пути, содержащим CONIN$ или NUL.

PHP передаёт это имя в CreateFileW(). Система открывает устройство вместо файла. Запрос зависает, а рабочий процесс не освобождается.

Повторное отправка запросов приводит к истощению пула рабочих процессов веб-сервера и отказу в обслуживании.

Есть ли публичный эксплойт​


В предоставленных источниках нет информации о публичном эксплойте для CVE-2026-17545.

Отсутствие сведений не означает отсутствие эксплойта. Техническое описание проблемы позволяет понять механизм атаки, но конкретные реализующие коды или payload в источниках не приведены.

Признаки эксплуатации​


Специфичных индикаторов компрометации для CVE-2026-17545 в предоставленных источниках нет.

Неспецифичные точки контроля:

  • Высокая загрузка CPU на веб-сервере во время обработки PHP-запросов
  • Рост числа заблокированных рабочих процессов в Apache или Nginx
  • Длинные времена отклика HTTP-запросов к PHP-приложениям
  • Появление в логах запросов с необычными именами файлов в путях

Как обнаружить атаку​


Для обнаружения атаки используйте следующие методы:

  • Мониторинг CPU и памяти веб-сервера на предмет аномального роста нагрузки
  • Анализ логов Apache/Nginx на наличие запросов с необычными именами файлов в путях
  • Проверка количества заблокированных рабочих процессов PHP-FPM или mod_php
  • Сравнение времени отклика HTTP-запросов до и после изменения конфигурации

Как проверить свою версию​


Для проверки версии Ubuntu и пакетов PHP используйте следующие команды:

Bash:
cat /etc/os-release
uname -r
apt-cache policy <имя-пакета>
ubuntu-security-status

Замените <имя-пакета> на конкретное имя пакета PHP, например php8.3 или php7.4. Команда apt-cache policy покажет установленную версию и доступные обновления.

Команда ubuntu-security-status перечислит пакеты с известными уязвимостями и статус их исправления.

Исправление​


Исправление CVE-2026-17545 доступно в обновлённых версиях пакетов PHP для Ubuntu.

Обновите систему:

Bash:
sudo apt update
sudo apt upgrade

Для проверки статуса исправления используйте:

Bash:
ubuntu-security-status
apt-cache policy <имя-пакета>

Замените <имя-пакета> на конкретное имя пакета PHP. Убедитесь, что установленная версия соответствует исправленной версии из Ubuntu OSV.

Временные меры защиты​


Пока обновление не применено, используйте следующие временные меры:

  • Ограничение доступа к PHP-приложениям с возможностью управления путями файлов
  • Фильтрация запросов на уровне веб-сервера для блокировки путей с зарезервированными именами устройств
  • Уменьшение пула рабочих процессов PHP-FPM или mod_php для снижения влияния истощения ресурсов
  • Мониторинг нагрузки и готовность к ограничению трафика при аномальной загрузке

Как проверить устранение уязвимости​


После обновления проверьте исправление:

Bash:
ubuntu-security-status
apt-cache policy <имя-пакета>

Замените <имя-пакета> на конкретное имя пакета PHP. Убедитесь, что статус пакета показывает отсутствие известных уязвимостей.

Проведите тестирование приложения для подтверждения отсутствия блокировки запросов при передаче путей с обычными именами файлов.

Вывод​


CVE-2026-17545 требует обновления пакетов PHP в Ubuntu. Проблема связана с отсутствием проверки зарезервированных имён устройств Windows в путях, что приводит к истощению рабочих процессов.

Обновление до исправленных версий устраняет уязвимость. До применения обновления используйте временные меры по ограничению доступа и мониторингу нагрузки.

Официальные источники​


  1. NVD — CVE-2026-17545
  2. Ubuntu OSV — CVE-2026-17545
  3. FIRST EPSS — CVE-2026-17545

История обновлений статьи​


  • 30.09.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ