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

Критические уязвимости 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) $ 81,401.00
  • ethereumEthereum (ETH) $ 2,390.34
  • tetherTether (USDT) $ 0.998982
  • usd-coinUSDC (USDC) $ 0.999470
  • tronTRON (TRX) $ 0.327875
  • zcashZcash (ZEC) $ 1,214.34
  • dogecoinDogecoin (DOGE) $ 0.078682
  • moneroMonero (XMR) $ 590.34
  • chainlinkChainlink (LINK) $ 11.95
  • leo-tokenLEO Token (LEO) $ 8.98
  • cardanoCardano (ADA) $ 0.212000
  • stellarStellar (XLM) $ 0.175369
  • bitcoin-cashBitcoin Cash (BCH) $ 274.13
  • litecoinLitecoin (LTC) $ 58.57
  • daiDai (DAI) $ 0.999683
  • hedera-hashgraphHedera (HBAR) $ 0.079454
  • crypto-com-chainCronos (CRO) $ 0.056281
  • okbOKB (OKB) $ 110.55
  • ethereum-classicEthereum Classic (ETC) $ 7.69
  • kucoin-sharesKuCoin (KCS) $ 7.37
  • algorandAlgorand (ALGO) $ 0.106767
  • cosmosCosmos Hub (ATOM) $ 1.71
  • dashDash (DASH) $ 51.63
  • vechainVeChain (VET) $ 0.007103
  • true-usdTrueUSD (TUSD) $ 0.998877
  • tezosTezos (XTZ) $ 0.301499
  • decredDecred (DCR) $ 15.19
  • basic-attention-tokenBasic Attention (BAT) $ 0.171215
  • iotaIOTA (IOTA) $ 0.044200
  • neoNEO (NEO) $ 2.19
  • qtumQtum (QTUM) $ 0.854714
  • 0x0x Protocol (ZRX) $ 0.106521
  • ontologyOntology (ONT) $ 0.052214
  • liskLisk (LSK) $ 0.183580
  • wavesWaves (WAVES) $ 0.265383
  • paxos-standardPax Dollar (USDP) $ 0.998841
  • ravencoinRavencoin (RVN) $ 0.001383
  • huobi-tokenHuobi (HT) $ 0.127343
  • bitcoin-diamondBitcoin Diamond (BCD) $ 0.061182
  • iconICON (ICX) $ 0.010089
  • monacoinMonaCoin (MONA) $ 0.070866
Закрыть
Закрыть