افزونه Eupago Gateway For WooCommerce که برای پلتفرم WordPress استفاده میشود، با یک آسیبپذیری منطق تجاری (Business Logic) روبرو است. این نقص امنیتی در نسخههای 4.5.0 تا 4.7.5 مشاهده شده و به مهاجمان اجازه میدهد تا با جعل درخواستهای Webhook، وضعیت سفارشهای معلق را بدون انجام پرداخت واقعی، به حالت «پرداختشده» (Paid) تغییر دهند.
جزئیات فنی و نحوه حمله
این آسیبپذیری زمانی رخ میدهد که فروشگاه از پیکربندی خاصی استفاده کند که در آن افزونه، اصالت (Authenticity) درخواستهای دریافتی از سمت Webhook برای تأیید پرداخت را بررسی نمیکند. یک مهاجم بدون نیاز به احراز هویت (Unauthenticated) و بدون نیاز به تعامل کاربر (No User Interaction)، میتواند یک سفارش معلق ایجاد کرده و سپس یک درخواست Forged Webhook مستقیماً به نقطه پایانی (Endpoint) مربوط به تایید پرداخت ارسال کند. در نتیجه، سیستم بدون دریافت وجه، سفارش را به عنوان پرداختشده علامتگذاری و آماده ارسال میکند.
طبق شاخص CVSS 3.1، این آسیبپذیری دارای امتیاز 5.3 (Medium) است. تأثیر این حمله تنها بر Integrity (یکپارچگی دادهها) متمرکز است و منجر به نشت اطلاعات (Confidentiality) یا اختلال در سرویس (Availability) نمیشود.
راهکارهای مقابله و کاهش ریسک
از آنجایی که در حال حاضر نسخه اصلاحشده (Patched) رسمی برای تمامی پیکربندیها تأیید نشده است، اقدامات زیر توصیه میشود:
- فعالسازی تایید امضا: حتماً قابلیت بررسی امضای Webhook Signature یا استفاده از Shared-secret را در تنظیمات درگاه پرداخت فعال کنید.
- محدودسازی دسترسی شبکه: دسترسی به Callback Endpoint را تنها به آدرسهای IP رسمی و منتشر شده توسط Eupago محدود کنید.
- بازبینی دستی: تا زمان بهروزرسانی افزونه، وضعیت تغییر سفارشها از «معلق» به «پرداختشده» را با سوابق تراکنشهای خود در درگاه پرداخت مطابقت دهید و قبل از ارسال کالا، صحت پرداخت را بررسی کنید.