CVE-2026-109991 — FunnelKit Stripe ≤1.15.0.2 IDOR billing PII on order-pay, fix 1.16.0
Суть
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,versionUI: Плагины → карточка FunnelKit Payment Gateway for Stripe. Multisite — версию смотреть в Network Admin. Dependabot/Composer: пакет/zip с версией ≤1.15.0.2 — в инвентарь как open.
Как исправить
- Staging → обновить до ≥ 1.16.0 с wordpress.org (
wp plugin update funnelkit-stripe-woo-payment-gatewayили UI «Обновления»). Per-plugin auto-updates в WordPress по умолчанию выключены — не считать парк закрытым без явного флага на этом slug. - Smoke: checkout + order-pay / повторная оплата; Express-кошельки — с учётом смены поведения 1.16.0 (настройка «Show as Regular Payment Gateway»); тестовый webhook Stripe при необходимости.
- Prod: бэкап БД+файлов → update → smoke. Если оплата сломалась — откат предыдущим zip только вместе с deactivate / запасным шлюзом до повторного апдейта на ≥1.16.0 (откат на ≤1.15.0.2 снова открывает уязвимость).
- Массово / 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-логи за этот период; оценить уведомление субъектов/регулятора по локальному закону о ПДн. Одного обновления после подтверждённой утечки мало.
Источники
- wordpress.org plugin page (1.16.0, changelog order pay): https://wordpress.org/plugins/funnelkit-stripe-woo-payment-gateway/
- CVE-2026-109991 — номер текстом; CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N (CNA Wordfence)