ഒരു വെബ്ഹുക്ക് (Webhook) ഓതന്റിക്കേറ്റ് ചെയ്യുന്നത് അത് വാലിഡേറ്റ് ചെയ്യുന്നു എന്നല്ല അർത്ഥമാക്കുന്നത്
പല ഡെവലപ്പർമാരും അപകടകരമായ ഒരു ബഗ് പ്രൊഡക്ഷനിലേക്ക് എത്തിക്കാറുണ്ട്. അവർ ഓതന്റിക്കേഷനും (authentication) വാലിഡേഷനും (validation) തമ്മിൽ തെറ്റിദ്ധരിക്കുന്നു.
ഓതന്റിക്കേഷൻ എന്നാൽ സന്ദേശം ശരിയായ പ്രൊവൈഡറിൽ നിന്നാണ് വന്നത് എന്നാണ് അർത്ഥം. വാലിഡേഷൻ എന്നാൽ സന്ദേശത്തിനുള്ളിലെ ഡാറ്റ ശരിയാണെന്നാണ് അർത്ഥം.
നിങ്ങൾ ആദ്യത്തെ ഘട്ടം മാത്രം ചെയ്താൽ, നിങ്ങൾക്ക് സാമ്പത്തിക നഷ്ടം സംഭവിക്കാം.
സമീപകാലത്തുണ്ടായ ഒരു WordPress സുരക്ഷാ വീഴ്ച (CVE-2026-9189) ഈ പിഴവ് കാണിച്ചുതരുന്നു. Contact Form 7 PayPal and Stripe Add-on പേയ്മെന്റ് തുക പരിശോധിക്കുന്നതിൽ പരാജയപ്പെട്ടു.
ഒരു അറ്റാക്കർ ഇത് എങ്ങനെ ചൂഷണം ചെയ്യുന്നു എന്ന് നോക്കാം:
- ഒരു അറ്റാക്കർ $2,000-ന്റെ ഒരു ഓർഡർ ക്രിയേറ്റ് ചെയ്യുന്നു.
- അറ്റാക്കർ യഥാർത്ഥത്തിൽ $1 മാത്രം പേയ്മെന്റ് ചെയ്യുന്നു.
- അവർ ഇൻവോയ്സ് നമ്പർ $2,000-ന്റെ ഓർഡറുമായി പൊരുത്തപ്പെടുന്ന രീതിയിൽ സെറ്റ് ചെയ്യുന്നു.
- $1 പേയ്മെന്റിനായി PayPal യഥാർത്ഥവും വെരിഫൈ ചെയ്തതുമായ ഒരു നോട്ടിഫിക്കേഷൻ അയക്കുന്നു.
- പ്ലഗിൻ ഈ വെരിഫൈ ചെയ്ത സന്ദേശം കണ്ട് $2,000-ന്റെ ഓർഡർ പെയ്ഡ് (paid) ആയി അടയാളപ്പെടുത്തുന്നു.
പ്ലഗിൻ സന്ദേശം അയച്ചയാളെ വിശ്വസിച്ചു, എന്നാൽ സന്ദേശത്തിലെ വിവരങ്ങൾ അവഗണിച്ചു.
ഈ തെറ്റ് വരുത്തരുത്. നിങ്ങൾ വെബ്ഹുക്കുകൾ കൈകാര്യം ചെയ്യുമ്പോൾ ഈ ഘട്ടങ്ങൾ പാലിക്കുക:
- സിഗ്നേച്ചറുകൾ (signatures) അല്ലെങ്കിൽ ഷെയർഡ് സീക്രട്ട്സ് (shared secrets) ഉപയോഗിച്ച് സന്ദേശം ഓതന്റിക്കേറ്റ് ചെയ്യുക.
- തുകയും കറൻസിയും നിങ്ങളുടെ ഡാറ്റാബേസിലെ ഓർഡറുമായി പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
- സ്വീകർത്താവിന്റെ ഇമെയിൽ നിങ്ങളുടെ അക്കൗണ്ടുമായി പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് പരിശോധിക്കുക.
- ഓർഡർ ലിങ്ക് ചെയ്യാൻ ഒരു സെർവർ സൈഡ് വാല്യൂ ഉപയോഗിക്കുക. പേലോഡിൽ (payload) മാത്രം വരുന്ന ഇൻവോയ്സ് ഐഡി വിശ്വസിക്കരുത്.
- ഡ്യൂപ്ലിക്കേറ്റ് ട്രാൻസാക്ഷൻ ഐഡികൾ ഒഴിവാക്കാൻ ഐഡെംപൊട്ടൻസി (idempotency) ഉപയോഗിക്കുക.
- എല്ലാ റിക്വസ്റ്റുകൾക്കും TLS വെരിഫിക്കേഷൻ സജീവമായി നിലനിർത്തുക.
- Fail closed രീതി പിന്തുടരുക. ഏതെങ്കിലും പരിശോധന പരാജയപ്പെട്ടാൽ എല്ലാം നിർത്തലാക്കുക.
നിങ്ങൾ Contact Form 7 PayPal and Stripe Add-on-ന്റെ 2.4.9 അല്ലെങ്കിൽ അതിനു താഴെയുള്ള വേർഷനുകളാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, അത് ഇപ്പോൾ തന്നെ അപ്ഡേറ്റ് ചെയ്യുക. പണമടയ്ക്കാത്ത ഓരോ ഓർഡറും ഈ ചൂഷണത്തിന് ഇരയാകാൻ സാധ്യതയുണ്ട്.
എപ്പോഴും സന്ദേശം അയച്ചയാളെ ഓതന്റിക്കേറ്റ് ചെയ്ത ശേഷം മാത്രം ഡാറ്റ പരിശോധിക്കുക.