Katalog CVE

CVE-2026-9832

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.23%

Percentyl 14 - wyżej niż 14% wszystkich znanych CVE

Streszczenie

Wtyczka Payment Gateway of Stripe for WooCommerce dla WordPressa jest podatna na nieprawidłową weryfikację podpisu kryptograficznego we wszystkich wersjach do 5.0.8 włącznie. Publicznie dostępny endpoint webhooka `woocommerce_api_wt_stripe` zawiera jedyne wywołanie `\Stripe\Webhook::constructEvent()` wewnątrz warunku `if (!empty($endpoint_secret))`, który nie jest spełniony na domyślnych instalacjach, ponieważ opcja `eh_stripe_webhook_secret` jest pusta po świeżej instalacji. To powoduje, że surowe, kontrolowane przez atakującego dane POST są dekodowane i przetwarzane jako w pełni zaufane zdarzenie Stripe bez żadnej weryfikacji podpisu, uwierzytelniania ani autoryzacji. Umożliwia to nieuwierzytelnionym atakującym wysyłanie sfałszowanych zdarzeń webhook Stripe w celu manipulowania statusami zamówień WooCommerce, w tym oznaczania niezapłaconych zamówień jako opłaconych lub ukończonych, wymuszania stanu niepowodzenia, tworzenia fałszywych powiadomień o sporach i wstrzykiwania fałszywych zdarzeń zwrotu. Podatność jest wykorzystywalna tylko wtedy, gdy administrator nie skonfigurował sekretu podpisywania webhooka Stripe.

Ocena ryzyka

Ryzyko obejmuje manipulację statusami zamówień, co może prowadzić do strat finansowych, fałszywych zwrotów i naruszenia integralności procesu płatności.

Rekomendacja

Zaleca się natychmiastowe skonfigurowanie sekretu podpisywania webhooka Stripe w ustawieniach wtyczki oraz aktualizację do najnowszej wersji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

The Payment Gateway of Stripe for WooCommerce plugin for WordPress is vulnerable to Improper Verification of Cryptographic Signature in all versions up to, and including, 5.0.8. This is due to the publicly accessible `woocommerce_api_wt_stripe` webhook endpoint (`EH_Stripe_Webhook_Handler::handle()`) wrapping the only call to `\Stripe\Webhook::constructEvent()` inside an `if (!empty($endpoint_secret))` guard that is never entered on default installations — because the `eh_stripe_webhook_secret` option is empty after a fresh plugin install — causing the raw, attacker-controlled POST body to be decoded and processed as a fully trusted Stripe event without any signature verification, authentication, or authorization. This makes it possible for unauthenticated attackers to send forged Stripe webhook events to manipulate WooCommerce order statuses, including marking unpaid orders as paid or completed via `payment_complete()`, forcing legitimate orders into a failed state, fabricating dispute notifications, and injecting forged refund events. This vulnerability is only exploitable when the Stripe webhook signing secret has not been configured by an administrator; once a valid signing secret is saved, `\Stripe\Webhook::constructEvent()` is enforced and forged requests are rejected.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS