
Daugiau nei 300 000 svetainių įdiegto Formidable Forms WordPress papildinio pažeidžiamumas leidžia neautentifikuotiems užpuolikams apeiti mokėjimo patvirtinimą. Pažeidžiamumas paveikia visas versijas iki 6.28 imtinai. Tai suteikia galimybę užpuolikams pakartotinai panaudoti „Stripe“ mokėjimą už mažesnę sumą, kad brangesnė operacija būtų pažymėta kaip apmokėta.
Milžiniškas formų papildinys
„Formidable Forms“ papildinys yra nuvilkimo formų kūrimo priemonė, kurią „WordPress“ svetainės naudoja kontaktinėms formoms, apklausoms, registracijos formoms ir mokėjimo formoms kurti. Svetainės jį naudoja su mokėjimų apdorojimo įrenginiais (pvz., „PayPal“ ir „Stripe“), kad rinktų mokėjimus už paslaugas, narystes, skaitmeninius produktus ir renginių registracijas.
Pažeidžiamas neautentifikuotų užpuolikų
Šis pažeidžiamumas ypač susirūpinęs yra tai, kad jam nereikia autentifikuoti. Užpuolikui nereikia prisijungti ar gauti net abonento lygio prieigos, kad galėtų pasinaudoti trūkumu. Tai leidžia užpuolikams lengviau pasinaudoti mokėjimo patvirtinimo trūkumu.
Pažeidžiamumui priskirtas CVE-2026-2890 ir CVSS sunkumo balas yra 7,5/10, kuris įvertintas aukštu.
Mokėjimo vientisumo apėjimas
Pažeidžiamumas atsirado dėl to, kad trūksta funkcijos handle_one_time_stripe_link_return_url patvirtinimo. Funkcija pažymi mokėjimo įrašus kaip užbaigtus, remiantis tik Stripe PaymentIntent būsena. Tai suteikia galimybę užpuolikams pakartotinai naudoti galiojantį „PaymentIntent“ už mažesnį mokestį, kad patvirtintų brangesnį pirkinį.
Funkcija verify_intent() patvirtina tik tai, kad kliento paslaptis priklauso vartotojui. Mokėjimo ketinimas nėra susietas su konkrečios formos pateikimu. Tai nepatvirtina, ar apmokestinta suma atitinka sumą, kurią klientas turėjo sumokėti.
Pagal Wordfence:
„Formidable Forms“ papildinys, skirtas „WordPress“, yra pažeidžiamas dėl mokėjimo vientisumo apėjimo visose versijose iki 6.28 (imtinai). Taip yra dėl to, kad „Stripe Link“ grąžinimo tvarkyklė (`handle_one_time_stripe_link_return_url`) pažymi mokėjimo įrašus kaip užbaigtus, remdamasi tik numatoma mokėjimo būsena, neapmokestinant numatytos sumos Stripe Paymentcom. suma ir funkcija „verify_intent()“, patvirtinanti tik kliento slaptą nuosavybę, neįsaistinant ketinimų konkrečioms formoms ar veiksmams.
Tai suteikia galimybę neautentifikuotiems užpuolikams pakartotinai panaudoti atlikto mažos vertės mokėjimo mokėjimo tikslą, kad didelės vertės mokėjimą būtų galima pažymėti kaip užbaigtą ir veiksmingai apeiti mokėjimą už prekes ar paslaugas.
Tai suteikia galimybę neautentifikuotiems užpuolikams atlikti nedidelę pigią operaciją ir pakartotinai panaudoti tą PaymentIntent, kad patvirtintų brangesnę operaciją nemokėdami visos kainos.
Šis pažeidžiamumas neleidžia nuotoliniu būdu vykdyti kodo ar tiesioginio serverio pažeidimo. Tačiau tai leidžia užpuolikams įsigyti prekių ar paslaugų nemokant reikiamos kainos.
Paveiktos versijos ir pataisa
Paveiktos visos versijos iki 6.28 imtinai. Formidable Forms papildinio naudotojus Wordfence skatina atnaujinti į 6.29 ar naujesnę versiją, kad būtų pašalintas pažeidžiamumas.



