Durch schwerwiegende Formularfehler können Angreifer weniger für teure Einkäufe bezahlen
Eine Schwachstelle im Formidable Forms WordPress-Plugin, das auf über 300.000 Websites installiert ist, ermöglicht es nicht authentifizierten Angreifern, die Zahlungsüberprüfung zu umgehen. Die Schwachstelle betrifft alle Versionen bis einschließlich 6.28. Dadurch ist es Angreifern möglich, eine Stripe-Zahlung für einen geringeren Betrag wiederzuverwenden, um eine teurere Transaktion als bezahlt zu markieren.
Formidable Forms Plugin
Das Formidable Forms-Plugin ist ein Drag-and-Drop-Formularersteller, der von WordPress-Sites zum Erstellen von Kontaktformularen, Umfragen, Registrierungsformularen und Zahlungsformularen verwendet wird. Websites verwenden es mit Zahlungsabwicklern (wie PayPal und Stripe), um Zahlungen für Dienste, Mitgliedschaften, digitale Produkte und Veranstaltungsanmeldungen einzuziehen.
Anfällig für nicht authentifizierte Angreifer
Was diese Sicherheitslücke besonders besorgniserregend macht, ist, dass keine Authentifizierung erforderlich ist. Ein Angreifer muss sich nicht anmelden oder Zugang auf Abonnentenebene erhalten, um die Schwachstelle auszunutzen. Dies macht es für Angreifer einfacher, die Schwachstelle der Zahlungsvalidierung auszunutzen.
Der Schwachstelle wurde CVE-2026-2890 zugewiesen und sie hat einen CVSS-Schweregrad von 7,5/10, was als Hoch eingestuft wird.
Umgehung der Zahlungsintegrität
Die Sicherheitslücke ist auf eine fehlende Validierung in der Funktion handle_one_time_stripe_link_return_url zurückzuführen. Die Funktion markiert Zahlungsdatensätze ausschließlich auf Grundlage des Stripe PaymentIntent-Status als abgeschlossen. Dies ermöglicht es Angreifern, einen gültigen PaymentIntent für eine geringere Gebühr wiederzuverwenden, um einen teureren Kauf zu genehmigen.
Die Funktion „Verify_intent()“ überprüft nur, ob das Client-Geheimnis dem Benutzer gehört. Es bindet den PaymentIntent nicht an eine bestimmte Formularübermittlung. Dabei wird nicht überprüft, ob der berechnete Betrag mit dem Betrag übereinstimmt, den der Kunde zahlen sollte.
Laut Wordfence:
„Das Formidable Forms-Plugin für WordPress ist in allen Versionen bis einschließlich 6.28 anfällig für eine Umgehung der Zahlungsintegrität. Dies liegt daran, dass der Stripe Link-Return-Handler („handle_one_time_stripe_link_return_url“) Zahlungsdatensätze ausschließlich auf der Grundlage des Stripe PaymentIntent-Status als vollständig markiert, ohne den berechneten Betrag der Absicht mit dem erwarteten Zahlungsbetrag zu vergleichen, und die Funktion „verify_intent()“, die nur den geheimen Besitz des Kunden ohne Bindung validiert.“ Absichten zu bestimmten Formen oder Handlungen.
Dies ermöglicht es nicht authentifizierten Angreifern, einen PaymentIntent einer abgeschlossenen Zahlung mit geringem Betrag wiederzuverwenden, um eine Zahlung mit hohem Betrag als abgeschlossen zu markieren und so die Zahlung für Waren oder Dienstleistungen effektiv zu umgehen.“
Dies ermöglicht es nicht authentifizierten Angreifern, eine kleine kostengünstige Transaktion durchzuführen und diesen PaymentIntent dann wiederzuverwenden, um eine teurere Transaktion zu genehmigen, ohne den vollen Preis zu zahlen.
Diese Sicherheitslücke ermöglicht keine Remotecodeausführung oder direkte Serverkompromittierung. Allerdings ermöglicht es Angreifern, Waren oder Dienstleistungen zu erhalten, ohne den geforderten Preis zu zahlen.
Betroffene Versionen und Patch
Betroffen sind alle Versionen bis einschließlich 6.28. Benutzer des Formidable Forms-Plugins werden von Wordfence aufgefordert, auf Version 6.29 oder neuer zu aktualisieren, um die Sicherheitslücke zu schließen.
Ausgewähltes Bild von Shutterstock/WNstock
