CVE-2026-47127
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
Ghostfolio, oprogramowanie do zarządzania majątkiem, przed wersją 3.4.0 ma podatność w handlerze sukcesu Stripe checkout, który przyznaje subskrypcję Premium bez sprawdzania statusu płatności. Każdy uwierzytelniony użytkownik może samodzielnie przyznać sobie roczną subskrypcję Premium bez płacenia. Poprawka w wersji 3.4.0.
Ocena ryzyka
Atakujący może uzyskać nieautoryzowany dostęp do funkcji Premium, co prowadzi do strat finansowych i naruszenia integralności subskrypcji.
Rekomendacja
Zaleca się aktualizację Ghostfolio do wersji 3.4.0, która zawiera poprawkę.
Oryginalny opis (angielski, źródło NVD)
Ghostfolio is an open source wealth management software. Prior to version 3.4.0, Ghostfolio's Stripe checkout success-URL handler at `GET /api/v1/subscription/stripe/callback?checkoutSessionId=<id>` retrieves the Stripe Checkout Session by ID and unconditionally grants a Premium subscription to the session's `client_reference_id` — without ever checking `session.payment_status` or `session.status`. There is no separate Stripe webhook endpoint with `stripe-signature` verification; this callback is the sole code path that creates Stripe-driven subscriptions. Any authenticated user can self-grant a 1-year Premium subscription without ever paying. Version 3.4.0 rejects sessions unless `session.payment_status === 'paid'` AND `session.status === 'complete'` (fails closed). Additionally, new unique `stripeCheckoutSessionId` column → a session can't be redeemed twice (race-safe via DB unique constraint).

