невзлом

К сведению · FunnelKit Stripe WooCommerce

CVE-2026-109991 — FunnelKit Stripe ≤1.15.0.2 IDOR billing PII on order-pay, fix 1.16.0

· CVE-2026-109991

← Простая версия для всех

Суть

IDOR / Authorization Bypass Through User-Controlled Key на маршруте оплаты заказа WooCommerce (order-pay): плагин отдавал billing PII в ответе страницы без той же проверки ключа заказа, что делает ядро WooCommerce. CNA Wordfence (лента NVD/EUVD): versions through 1.15.0.2; PR:N — учётная запись на сайте не нужна. Итог — unauth чтение PII заказов (C:H). Полные номера карт этим CVE не обещать.

Затронуто и исправлено

КомпонентУязвимо (CNA)Закрытие
FunnelKit Payment Gateway for Stripe WooCommerce≤ 1.15.0.2≥ 1.16.0

Slug: funnelkit-stripe-woo-payment-gateway. wordpress.org: 20,000+ Active Installations, Current Version 1.16.0. Wordfence remediation: Patched Version 1.16.0. Changelog 1.16.0: «Hardened code on order pay pages». В том же 1.16.0 Express-кошельки (Apple Pay / Google Pay / Amazon Pay) больше не показываются как обычный способ оплаты, пока не включён «Show as Regular Payment Gateway» — после апдейта это легко принять за поломку и откатить патч.

Эксплуатация

  • CISA KEV — нет.
  • Подтверждённых атак в ленте / на странице плагина — нет.

Как проверить

wp plugin get funnelkit-stripe-woo-payment-gateway --fields=name,status,version
# закрыто патчем: version ≥ 1.16.0; митигация: status ≠ active
# Error = плагин не установлен (нормально при исключении ложного совпадения)

# опционально, парк / несколько FunnelKit:
wp plugin list --fields=name,status,version

UI: Плагины → карточка FunnelKit Payment Gateway for Stripe. Multisite — версию смотреть в Network Admin. Dependabot/Composer: пакет/zip с версией ≤1.15.0.2 — в инвентарь как open.

Как исправить

  1. Staging → обновить до ≥ 1.16.0 с wordpress.org (wp plugin update funnelkit-stripe-woo-payment-gateway или UI «Обновления»). Per-plugin auto-updates в WordPress по умолчанию выключены — не считать парк закрытым без явного флага на этом slug.
  2. Smoke: checkout + order-pay / повторная оплата; Express-кошельки — с учётом смены поведения 1.16.0 (настройка «Show as Regular Payment Gateway»); тестовый webhook Stripe при необходимости.
  3. Prod: бэкап БД+файлов → update → smoke. Если оплата сломалась — откат предыдущим zip только вместе с deactivate / запасным шлюзом до повторного апдейта на ≥1.16.0 (откат на ≤1.15.0.2 снова открывает уязвимость).
  4. Массово / Bedrock / образ / DISALLOW_FILE_MODS / read-only: UI и wp plugin update могут не сработать. Путь: поднять constraint (например wpackagist-plugin/funnelkit-stripe-woo-payment-gateway) → composer update / пересборка слоя → выкат; сверять composer.lock/тег образа, не только UI на одном стенде. Хосты без связи с api.wordpress.org, без WP-Cron / с запретом правок файлов — только через пайплайн или панель хостинга. Не считать парк закрытым по версии другого FunnelKit (Automations / Funnel Builder — другие slug).

Если обновить нельзя

Отдельного официального hotfix кроме 1.16.0 нет. Compensating: deactivate funnelkit-stripe-woo-payment-gateway при наличии запасного payment gateway; иначе — срочно планировать окно на 1.16.0. WAF как замену патчу не обещать. Неофициальные сборки — запрещены стандартом.

Признаки взлома и что делать

IoC вендор/CNA не публиковали. Ориентир при расследовании: жалобы клиентов на «откуда знают контакты» и аномалии в access-логах за период, когда стояла версия ≤1.15.0.2. При признаках утечки: обновить плагин; проверить elevated roles и целостность заказов; просмотреть access-логи за этот период; оценить уведомление субъектов/регулятора по локальному закону о ПДн. Одного обновления после подтверждённой утечки мало.

Источники