یک نقص امنیتی بحرانی در دور زدن احراز هویت (CVE-2026-8457) در افزونه WooCommerce Social Login فاش شده است که به مهاجمان اجازه می‌دهد هر حساب کاربری WordPress – از جمله مدیران (administrators) – را کنترل کنند. این آسیب‌پذیری دارای امتیاز CVSS 9.8 است که بالاترین سطح شدت محسوب می‌شود و می‌تواند بدون نیاز به رمز عبور، کد تایید دو مرحله‌ای یا هرگونه تعامل کاربر مورد سوءاستفاده قرار گیرد.

چرا این نقص برای توسعه‌دهندگان WordPress اهمیت دارد

افزونه WooCommerce Social Login که توسط WPWeb Elite منتشر شده است، به سایت‌های تجارت الکترونیک اجازه می‌دهد تا مشتریان خود را با Apple وارد سیستم کنند. از آنجایی که این افزونه مستقیماً با سیستم کاربری WordPress ادغام می‌شود، رخنه در جریان احراز هویت آن می‌تواند کل سایت را به خطر بیندازد. مهاجمی که یک id_token جعلی اپل بسازد، می‌تواند یک حساب کاربری موجود را تصاحب کرده و کنترل کامل محتوا، سفارش‌ها و داده‌های مشتریان سایت را در اختیار بگیرد.

این مسئله یک اشتباه تایپی یا موردی گذرا نیست؛ این سومین نقص امنیتی بزرگ در احراز هویت است که در دو سال اخیر در این خانواده از افزونه‌ها پیدا شده است. تکرار شکست در تأیید توکن‌های شخص ثالث نشان‌دهنده یک مشکل سیستماتیک در نحوه برخورد کد با اعتبارنامه‌های خارجی است.

نحوه عملکرد دور زدن احراز هویت

  1. مدیریت توکن Apple – وقتی بازدیدکننده روی «Sign in with Apple» کلیک می‌کند، افزونه یک id_token دریافت می‌کند؛ یک JSON Web Token (JWT) که شامل ایمیل کاربر و سایر ادعاها (claims) است.
  2. عدم تأیید امضا – افزونه JWT را رمزگشایی می‌کند اما هرگز امضای رمزنگاری‌شده‌ای را که ثابت می‌کند توکن توسط Apple صادر شده است، بررسی نمی‌کند.
  3. عدم بررسی صادرکننده، مخاطب یا انقضا – همچنین، این افزونه از اعتبارسنجی صادرکننده توکن (سازنده آن)، مخاطب (کسی که توکن برای او در نظر گرفته شده) و زمان انقضا چشم‌پوشی می‌کند.

به دلیل این کوتاهی‌ها، یک مهاجم می‌تواند یک JWT جعلی بسازد که هر آدرس ایمیلی را که بخواهد ادعا کند. افزونه، ایمیل رمزگشایی‌شده را به عنوان ایمیل واقعی می‌پذیرد و بدون هیچ مدرکی، کاربر WordPress مربوطه را ایجاد کرده یا وارد حساب او می‌شود.

مشکل دوم ریسک را دوچندان می‌کند: افزونه یک security nonce – یک مقدار یک‌بار مصرف برای جلوگیری از حملات Replay – را در معرض بازدیدکنندگان احراز هویت نشده قرار می‌دهد. این امر باعث می‌شود که برای یک مهاجم بسیار ساده باشد تا کل فرآیند را بدون نیاز به فعال کردن یک جریان ورود واقعی، از طریق اسکریپت‌نویسی انجام دهد.

چه کسانی در معرض خطر هستند

  • صاحبان سایت‌هایی که از WooCommerce استفاده می‌کنند – هر سایتی که این افزونه را نصب کرده و ورود با Apple را فعال کرده باشد، آسیب‌پذیر است.
  • توسعه‌دهندگان و آژانس‌ها – کسانی که چندین سایت مشتری را مدیریت می‌کنند، ممکن است ده‌ها نصب از این افزونه را در معرض خطر ببینند.
  • مشتریان – اگر مهاجمی به دسترسی مدیر (admin) برسد، می‌تواند داده‌های سفارش را بخواند، تغییر دهد یا حذف کند که این امر پتانسیل افشای اطلاعات شخصی و پرداخت را دارد.

اقدامات فوری برای محافظت از سایت شما

  1. به نسخه 2.8.8 به‌روزرسانی کنید – اصلاحیه در آخرین نسخه موجود در CodeCanyon گنجانده شده است. افزونه‌های پریمیوم به‌روزرسانی‌های خودکار را از طریق مخزن WordPress.org دریافت نمی‌کنند، بنابراین باید بسته جدید را به صورت دستی دانلود و نصب کنید.
  2. حساب‌های کاربری را بازرسی کنید – جدول کاربران WordPress را برای یافتن حساب‌هایی که پس از ۱ اوت ۲۰۲۶ ایجاد شده‌اند، به‌ویژه حساب‌هایی با امتیازات مدیر (administrator)، جستجو کنید.
  3. لاگ‌های سرور را بررسی کنید – به دنبال درخواست‌های غیرعادی به نقاط انتهایی (endpoints) ورود اجتماعی افزونه باشید، مانند درخواست‌های مکرر از یک آدرس IP واحد یا فراخوانی‌هایی که حاوی JWTهای نامعتبر هستند.
  4. کاهش ریسک موقت – اگر نمی‌توانید بلافاصله به‌روزرسانی را اعمال کنید، ورود با Apple را در تنظیمات افزونه غیرفعال کنید. این کار تا زمانی که برای ارتقا برنامه‌ریزی می‌کنید، خطرناک‌ترین مسیر حمله را از بین می‌برد.

آنچه توسعه‌دهندگان می‌توانند بیاموزند

  • همیشه امضای JWT را تأیید کنید – قبل از اعتماد به هر ادعا (claim)، JSON Web Key Set (JWKS) ارائه‌دهنده را دریافت کرده و اثبات رمزنگاری‌شده توکن را اعتبارسنجی کنید.
  • صادرکننده، مخاطب و انقضا را بررسی کنید – این فیلدها تأیید می‌کنند که توکن برای سایت شما در نظر گرفته شده و همچنان معتبر است.
  • هرگز nonceهای احراز هویت را به صورت عمومی منتشر نکنید – nonceها باید در سمت سرور تولید شوند و فقط به نشست‌های (sessions) احراز هویت شده ارسال گردند.
  • انتساب نقش‌ها را محدود کنید – جریان‌های ورود اجتماعی هرگز نباید بدون مراحل تأیید اضافی، نقش‌های با سطح دسترسی بالا (مانند administrator) را اعطا کنند.

پاسخ فروشنده

WPWeb Elite نسخه اصلاح‌شده را منتشر کرده است.

آنچه باید در ادامه زیر نظر داشته باشید

نکته کلیدی: تنها یک بررسیِ فراموش‌شده برای امضا، دکمه‌ی راحتِ «Sign in with Apple» را به یک درِ پشتی برای تسلط کامل بر سایت تبدیل کرد. به‌روزرسانی افزونه، غیرفعال کردن روش ورود آسیب‌پذیر و سخت‌گیرانه‌تر کردن تأیید توکن، تنها دفاع‌های قابل اعتماد تا زمانی هستند که این اصلاحیه به طور گسترده منتشر شود.