Безопасность

Критические уязвимости PHP поставили под угрозу бэкенды криптобирж и кошельков

Проект PHP выпустил исправления для двух критических уязвимостей, которые позволяют удалённо выполнить код без аутентификации. Они получили идентификаторы CVE-2026-109618 и CVE-2026-109619, обе оценены в 9,2 балла по шкале CVSS v4.0. Патчи вышли 21 октября.

Какие версии затронуты и где риск выше

Исправления включены в PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Под угрозой все установки, обрабатывающие веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Самым уязвимым вариантом названа связка с mod_php. Для неё показан эксплойт, который срабатывает по одному неаутентифицированному запросу ещё до запуска кода приложения.

Для версий PHP 8.1 и более ранних официальных бинарных обновлений нет: эти ветки достигли конца жизненного цикла (EOL). Для 7.4, 8.0 и 8.1 доступны только минимальные бэкпорты исходного кода. Поддержка PHP 8.2 закончится 31 декабря 2026 года.

Будьте в курсе
движения ваших монет

Алерты, котировки в реальном времени и новости рынка — в одном приложении


Наведите камеру телефона, чтобы установить

4,8 на основе 40 К оценок в App Store и Google Play

Как устроены уязвимости

Первая брешь, CVE-2026-109618, связана с обработкой нехватки памяти (OOM). Если процесс прерывается из-за этого, внутренние данные запроса могут остаться в частично инициализированном состоянии. Затем процедура очистки воспринимает их как корректные и работает с ними. Полное удалённое выполнение кода по HTTP подтверждено на mod_php с настройками по умолчанию.

Вторая, CVE-2026-109619, касается «застрявшего» глобального состояния. Данные одного запроса могут пережить освобождение памяти, и следующий запрос на том же воркере (рабочем процессе сервера) их использует. Подтверждены сценарии через session.upload_progress и fatal_error_backtraces на PHP 8.5.

Что можно сделать до обновления

Полностью проблему закрывает только переход на исправленные версии с последующим перезапуском воркеров PHP-FPM. Временные меры защиту не гарантируют, но снижают риск:

  • отключить session.upload_progress.enabled = 0 в php.ini или в настройках пула FPM (через ini_set() и .user.ini параметр не сработает) и перезапустить воркеры;

  • на PHP 8.5 дополнительно задать fatal_error_backtraces = 0;

  • выставить memory_limit = -1 на административном уровне, а не через пользовательские настройки;

  • ограничить post_max_size (например, 8M без загрузок файлов или 32M с ними) и задать upload_max_filesize ниже этого значения, а также установить лимиты на прокси.

Реакция криптоиндустрии

Уязвимости затрагивают крипторынок: на PHP работает немало бэкендов бирж и кошельков. Компания SlowMist в соцсети X опубликовала предупреждение: её система MistEye выполнила глобальное сканирование PHP-активов в криптоиндустрии. Биржам, DeFi-платформам и провайдерам кошельков рекомендовано оценить риски и установить патчи.

Две уязвимости с оценкой 9,2 в CVSS v4.0 затрагивают все основные способы запуска PHP, а наибольшую опасность представляет mod_php. Патчи доступны для веток 8.2–8.5, для более старых версий есть только исходные бэкпорты.

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

Мнение ИИ

С точки зрения машинного анализа данных, главный интерес здесь представляет не сам PHP, а слой «между пользователем и ключом». Свежий пример — взлом Bitget в сентябре: GoPlus заключила, что приватные ключи не утекали. Злоумышленники скомпрометировали критическую бэкенд-систему и заставили штатный процесс подписания выдать валидные подписи. Система подписания, по этой версии, подтверждает то, что передаёт бэкенд, и содержание транзакции не проверяет. Сейф с ключами надёжен ровно настолько, насколько честен тот, кто вручает ему поручения. Для биржи брешь в веб-слое — потенциальная дверь в кабинет, где такие поручения рождаются. Способ первоначального проникновения в Bitget при этом до сих пор не раскрыт, а связь этого случая с PHP никто не заявлял. Какая часть биржевых систем проверяет не только подпись, но и смысл операции?

Источник

Добавить комментарий

Кнопка «Наверх»
  • bitcoinBitcoin (BTC) $ 84,410.00
  • ethereumEthereum (ETH) $ 2,500.26
  • tetherTether (USDT) $ 0.999394
  • usd-coinUSDC (USDC) $ 0.999687
  • tronTRON (TRX) $ 0.332477
  • zcashZcash (ZEC) $ 1,344.43
  • dogecoinDogecoin (DOGE) $ 0.083039
  • moneroMonero (XMR) $ 608.96
  • chainlinkChainlink (LINK) $ 12.70
  • cardanoCardano (ADA) $ 0.228243
  • leo-tokenLEO Token (LEO) $ 9.04
  • stellarStellar (XLM) $ 0.185177
  • bitcoin-cashBitcoin Cash (BCH) $ 286.41
  • litecoinLitecoin (LTC) $ 61.98
  • daiDai (DAI) $ 1.00
  • hedera-hashgraphHedera (HBAR) $ 0.085696
  • crypto-com-chainCronos (CRO) $ 0.058738
  • okbOKB (OKB) $ 116.74
  • ethereum-classicEthereum Classic (ETC) $ 8.16
  • algorandAlgorand (ALGO) $ 0.115046
  • kucoin-sharesKuCoin (KCS) $ 7.46
  • cosmosCosmos Hub (ATOM) $ 1.77
  • dashDash (DASH) $ 52.42
  • vechainVeChain (VET) $ 0.007518
  • true-usdTrueUSD (TUSD) $ 0.999020
  • tezosTezos (XTZ) $ 0.319236
  • decredDecred (DCR) $ 15.41
  • basic-attention-tokenBasic Attention (BAT) $ 0.180628
  • iotaIOTA (IOTA) $ 0.048376
  • neoNEO (NEO) $ 2.29
  • 0x0x Protocol (ZRX) $ 0.113956
  • qtumQtum (QTUM) $ 0.898547
  • ontologyOntology (ONT) $ 0.054353
  • liskLisk (LSK) $ 0.199256
  • wavesWaves (WAVES) $ 0.253359
  • ravencoinRavencoin (RVN) $ 0.001499
  • paxos-standardPax Dollar (USDP) $ 0.997839
  • huobi-tokenHuobi (HT) $ 0.137565
  • bitcoin-diamondBitcoin Diamond (BCD) $ 0.061182
  • iconICON (ICX) $ 0.011191
  • monacoinMonaCoin (MONA) $ 0.066945
Закрыть
Закрыть