Ко всем статьям
•
~4 мин чтения

Почему уязвимости PHP2Shell и Pterodactyl нам не угрожают

Разбор критических уязвимостей PHP2Shell и проблем безопасности экосистемы Pterodactyl. Рассказываем, почему собственная архитектура Obsy Host на TypeScript и Bun защищена от этих векторов атак.

21 октября 2026 года стало известно о двух критических уязвимостях в PHP с оценкой CVSS 9.2 (получивших широкую огласку как PHP2Shell). Бреши позволяют удаленно выполнять произвольный код (RCE) на уязвимом сервере без какой-либо авторизации.

Для игровой индустрии это серьезный сигнал: подавляющее большинство игровых хостингов до сих пор используют популярную панель управления Pterodactyl или ее форки, архитектура которых исторически завязана на стек PHP и Laravel.

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


Что произошло: уязвимости PHP2Shell#

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

Оценка 9.2 по шкале CVSS относит проблему к категории критических:

  • Эксплуатация возможна без предварительной аутентификации.
  • Доступ к атакуемой системе может быть получен дистанционно по сети.
  • Вектор атаки затрагивает серверные панели, биллинги и сопутствующие сервисы, функционирующие на базе уязвимых версий PHP.

Архитектурные риски Pterodactyl и Wings#

Pterodactyl Panel написана на PHP и построена на фреймворке Laravel. Ее фоновый агент управления контейнерами на серверах — Wings — написан на Go.

Так как кодовая база Pterodactyl огромна и разрабатывается годами в открытом сообществе, в самой панели и демоне Wings регулярно обнаруживаются опасные векторы атак:

  • :black_small_square: 19.06.2025 | CVE-2025-49132 — выполнение произвольного кода без авторизации.
  • :black_small_square: 14.02.2026 | CVE-2026-26016 — нарушение изоляции доступа и сегментации между нодами.
  • :black_small_square: 06.06.2026 | CVE-2026-54593 — обход ограничений прав при загрузке файлов.
  • :black_small_square: 14.08.2026 | GHSA-77pg-7gfq-9hjr — потенциальный несанкционированный доступ к файлам хостовой системы через демон Wings.

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

plaintext
┌─────────────────────────────────────────────────────────────┐
│           Уязвимая цепочка типового хостинга                │
├─────────────────────────────────────────────────────────────┤
│  [PHP Runtime] ──► [Laravel Web Panel] ──► [Wings Daemon]   │
│         ▲                     ▲                    ▲        │
│   PHP2Shell (RCE)      CVE-2025-49132       GHSA-77pg-7gfq  │
└─────────────────────────────────────────────────────────────┘

Почему мы выбрали собственную архитектуру#

При создании Obsy Host мы приняли принципиальное решение: не разворачивать типовой Pterodactyl, а спроектировать платформу с нуля под современные требования к надежности и изоляции.

Главные причины такого выбора:

  1. Полный контроль над кодовой базой: Мы досконально знаем каждый обработчик, протокол и пайплайн передачи данных внутри системы.
  2. Строгая изоляция вычислительных нод: Управление игровыми серверами осуществляется через легковесный агент, который взаимодействует с центральным бэкендом через защищенную шину очередей сообщений NATS JetStream с взаимной авторизацией.
  3. Безопасная работа с файловой системой: Обработка пользовательских файлов изолирована. Защита от Path Traversal, обхода символических ссылок и SSRF-атак встроена прямо в ядро контроллера нод и покрыта автоматизированными тестами.
  4. Отсутствие чужого легаси-кода: Нам не приходится поддерживать неиспользуемые модули, чужие абстракции и устаревшие зависимости.

Почему уязвимости PHP2Shell нам не угрожают#

Ответ прост: в инфраструктуре Obsy Host нет PHP.

plaintext
┌─────────────────────────────────────────────────────────────┐
│                 Архитектурный стек Obsy Host                │
├─────────────────────────────────────────────────────────────┤
│  [Клиент / React 19] ──► [ElysiaJS / Bun] ──► [NATS Queue]  │
│                                                     │       │
│                                                     ▼       │
│                                            [Node Controller]│
│                                            (Docker Sandbox) │
└─────────────────────────────────────────────────────────────┘
  • Современный стек: Бэкенд и микросервисы Obsy Host работают на TypeScript под управлением высокопроизводительного рантайма Bun и веб-фреймворка ElysiaJS.
  • Независимость от Pterodactyl: Мы не используем Pterodactyl Panel или Wings ни в качестве основы панели, ни в виде вспомогательных демонов.
  • Неприменимость эксплойтов: Уязвимости, специфичные для интерпретатора PHP, сериализации Laravel или демона Wings, технически не могут быть применены против наших серверов — атакуемый стек у нас просто отсутствует.

Безопасность — это непрерывный процесс#

Примечание

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

Для защиты серверов и данных наших пользователей мы придерживаемся строгих стандартов разработки:

  • Строгая типизация и валидация: Любой входящий запрос на всех микросервисах валидируется строгими схемами Zod и DTO до передачи в бизнес-логику.
  • Глубокая изоляция контейнеров: Каждый игровой сервер изолирован на уровне ядра Linux и Docker-контейнера с индивидуальными лимитами памяти, CPU и дискового пространства.
  • Защита от сбоев (CrashLoopGuard): Автоматический мониторинг предотвращает зацикливание аварийных перезапусков и спам системными ресурсами.
  • Регулярный аудит и тесты: Все механизмы работы с файлами, сетью и правами доступа непрерывно проверяются модульными и интеграционными тестами.

Первоисточники и бюллетени безопасности#

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

Готовы запустить свой Minecraft сервер?
Собственная панель управления, быстрые NVMe накопители, защита от DDoS и запуск за пару минут.