Elementor Pro 4.2.1 اور اس سے پہلے کے ورژن Forms widget کے file-upload field میں ایک غیر تصدیق شدہ (unauthenticated) remote-code-execution (RCE) نقص کی وجہ سے خطرے میں پڑ سکتے ہیں؛ اس مسئلے کو ورژن 4.2.2 میں ٹھیک کر دیا گیا ہے، اس لیے پرانا کوڈ استعمال کرنے والی سائٹس کو فوری طور پر اپ گریڈ کر لینا چاہیے۔

یہ بگ کیا کرتا ہے

اس کمزوری کی CVSS ریٹنگ 9.0 ہے، جس کا مطلب ہے کہ ایک حملہ آور جو کسی متاثرہ سائٹ تک رسائی حاصل کر سکتا ہے، وہ بغیر لاگ ان کیے یا کوئی بھی کریڈنشلز فراہم کیے بغیر سرور پر کوئی بھی PHP کوڈ چلا سکتا ہے۔ مسئلہ Elementor Pro کے Forms widget میں فائل اپ لوڈ کرنے کے طریقے میں ہے۔ پلگ ان دو الگ الگ لوپس (loops) چلاتا ہے: ایک جو ہر اپ لوڈ شدہ فائل کی تصدیق کرتا ہے، اور دوسرا جو فائل کو ویب تک رسائی کے قابل اپ لوڈ ڈائریکٹری میں محفوظ کرتا ہے۔

ایک حملہ آور ایک ایسی درخواست (request) تیار کر سکتا ہے جس میں دو فائلیں شامل ہوں۔ پہلی فائل کا نام خالی رکھا جاتا ہے، جس کی وجہ سے ویلیڈیشن لوپ اس کی جانچ کرنے سے رہ جاتا ہے۔ دوسری فائل، جو کہ ایک نقصان دہ PHP اسکرپٹ ہے، دوسرے لوپ سے گزر جاتی ہے اور ایک عوامی (public) فولڈر میں لکھ دی جاتی ہے۔ چونکہ Elementor Pro اپ لوڈ شدہ فائلوں کے نام ٹائم اسٹیمپ (timestamp) کا استعمال کرتے ہوئے رکھتا ہے، اس لیے حملہ آور فائل کا نام پہلے سے اندازہ لگا سکتا ہے اور بعد میں کوڈ چلانے کے لیے اسے براہ راست ریکویسٹ کر سکتا ہے۔

یہ نقص کیسے پیدا ہوا

ڈوئل-لوپ ڈیزائن کا مقصد ویلیڈیشن اور اسٹوریج کو آزاد رکھنا تھا، لیکن ایک مشترکہ سینٹیٹی چیک (sanity check) کی کمی کی وجہ سے خالی نام والا طریقہ کار کامیاب ہو گیا۔ یہ بگ ہر اس انسٹالیشن کو متاثر کرتا ہے جو Forms widget کے file-upload field کا استعمال کرتی ہے، قطع نظر اس کے کہ سائٹ کا مالک وزٹرز کے لیے اس فیچر کو فعال (enable) کیا ہے یا نہیں۔

کون خطرے میں ہے

کوئی بھی WordPress سائٹ جس میں Elementor Pro 4.2.1 یا اس سے پہلے کا ورژن انسٹال ہے، خطرے میں ہے۔ چونکہ اس حملے کے لیے تصدیق (authentication) کی ضرورت نہیں ہے، اس لیے وہ سائٹس بھی خطرے میں ہیں جو ایڈمن رسائی کو محدود رکھتی ہیں۔ کامیاب حملے سے حملہ آور کو ہوسٹنگ ماحول پر مکمل کنٹرول مل جاتا ہے، جس سے ڈیٹا کی چوری، سائٹ کی بدشکل سازی (defacement)، یا رینسم ویئر (ransomware) پھیلانے کا راستہ کھل جاتا ہے۔

اب کیا کریں

  • WordPress CLI کمانڈ کے ذریعے انسٹال شدہ ورژن کی تصدیق کریں:

    wp plugin list --name=elementor-pro --field=version
    
  • اگر آؤٹ پٹ 4.2.1 یا اس سے کم دکھاتا ہے، تو فوری طور پر 4.2.2 یا اس سے نئے ورژن پر اپ ڈیٹ کریں۔ یہ اپ ڈیٹ ناقص اپ لوڈ لاجک کو ایک واحد، ایٹامک ویلیڈیشن-اینڈ-سیو روٹین سے بدل دیتی ہے جو خالی نام والے بائی پاس کو روک دیتی ہے۔

  • اپ گریڈ کرنے کے بعد، اپ لوڈ ڈائریکٹری میں ایسی کسی بھی PHP فائل کی جانچ کریں جو پلگ ان کے استعمال کردہ ٹائم اسٹیمپ پیٹرن سے مماثل ہو اور انہیں حذف کر دیں۔

  • جب تک پیچ (patch) لاگو نہیں ہو جاتا، عوامی فارمز پر file-upload field کو غیر فعال کرنے پر غور کریں، خاص طور پر زیادہ ٹریفک والی سائٹس پر۔

دوسرا پہلو

کچھ ڈویلپرز کا کہنا ہے کہ خطرہ محدود ہے کیونکہ اس حملے کے لیے Forms widget کا فائل اپ لوڈ فیلڈ کے ساتھ کنفیگر ہونا ضروری ہے جو عوامی طور پر قابل رسائی ہو۔ تاہم، بہت سی Elementor پر مبنی سائٹس رابطہ، ملازمت کی درخواستوں، یا صارف کے تیار کردہ مواد (user-generated content) کے لیے ایسے فارمز فراہم کرتی ہیں، جس کی وجہ سے یہ صورتحال اتنی عام ہے کہ اس کمزوری کو انتہائی سنگین (critical) قرار دیا گیا ہے۔

آگے کیا نظر رکھنا ہے

سیکیورٹی محققین کو توقع ہے کہ جیسے جیسے مزید سائٹس حملے کی کوششوں کی اطلاع دیں گی، مزید ایڈوائزری نوٹس سامنے آئیں گے۔ کسی بھی فالو اپ پیچ یا بچاؤ کے اقدامات کے لیے آفیشل Elementor مواصلات اور معتبر کمزوریوں کے ڈیٹا بیس (vulnerability databases) پر نظر رکھیں۔

خلاصہ: Elementor Pro 4.2.1 اور اس سے پہلے کے ورژن میں RCE کا نقص ایک انتہائی سنگین (high-severity)، بغیر لاگ ان والے حملے کا ذریعہ ہے۔ 4.2.2 پر اپ ڈیٹ کرنا ہی واحد قابل اعتماد دفاع ہے؛ تاخیر آپ کے سرور اور ڈیٹا کو شدید خطرے میں ڈال سکتی ہے۔