Brevo کی ایک API key نے ایک لاکھ sites تک malware کا راستہ کھول دیا

|مصنف: QUASA ادارتی ٹیم|6 منٹ مطالعہ| 1
Brevo کی ایک API key نے ایک لاکھ sites تک malware کا راستہ کھول دیا

14 ستمبر 2026 کو ایک حملہ آور نے Brevo کی compromised Cloudflare API key سے malicious Worker بنایا، جس نے کمپنی کے صفحات اور customer sites میں شامل JavaScript کو Cloudflare edge پر بدل دیا۔ Brevo کی سرکاری post-mortem کے مطابق origin servers اور اصل files تبدیل نہیں ہوئیں، مگر browser تک پہنچنے والے responses میں malware شامل ہو گیا۔

یہ راستہ 14 ستمبر کو چند گھنٹے فعال رہا۔ Sansec کے مطابق متاثرہ Brevo components ایک لاکھ سے زیادہ customer sites پر استعمال ہو رہے تھے، لیکن یہ تعداد ممکنہ طور پر malware وصول کرنے والی sites کا تخمینہ ہے، ایک لاکھ تصدیق شدہ infections کا شمار نہیں۔ Sansec کی تکنیکی تحقیق نے محفوظ شدہ scripts میں اضافی loader، ClickFix صفحات اور WordPress plugin نصب کرنے کی کوشش کے شواہد دکھائے۔

کن Brevo assets سے malicious response پہنچا

Worker نے brevo.com، sendinblue.com، login، account، my اور onboarding کے Brevo subdomains کے علاوہ sibforms.com کو متاثر کیا۔ Customer sites پر اثر Brevo forms script، Conversations widget اور SDK loader کے ذریعے پہنچا۔ Sansec کے محفوظ نمونوں میں cdn.brevo.com/js/sdk-loader.js اور conversations-widget.brevo.com/brevo-conversations.js کی delivered copies کے آخر میں ایک اضافی loader ملا۔

حملے کی اہم خصوصیت یہی تھی کہ اصل JavaScript صاف رہی۔ Worker نے CDN edge پر response دوبارہ لکھا اور Content-Security-Policy جیسے headers بھی ہٹا دیے، اس لیے صرف origin file، repository یا server filesystem کا موجودہ hash دیکھنا ماضی کے exposure کو خارج نہیں کرتا۔ Brevo کے مطابق app.brevo.com، اس کی API، email delivery infrastructure اور Brevo کے پاس موجود customer account data اس واقعے سے متاثر نہیں ہوئے۔

Exposure window ایک نہیں، دو دائرے رکھتی ہے

Brevo نے اپنی تمام متاثرہ surfaces کے لیے 15:01 سے 20:30 UTC تک مجموعی impact window دی ہے۔ Customer sites میں شامل تین JavaScript files پر Worker کی routing 16:07 UTC سے شروع ہوئی، جبکہ Sansec کے محفوظ مشاہدات میں پہلا malicious SDK response 16:05:18 اور آخری Brevo-domain activity 20:12:53 UTC پر نظر آتی ہے۔

یہ معمولی فرق متضاد دعویٰ نہیں: Brevo کی timeline پورے account اور remediation کو بیان کرتی ہے، جبکہ Sansec کا وقت محفوظ شدہ responses اور monitoring observations پر مبنی ہے۔ Site owners کے لیے محتاط عملی حد 14 ستمبر، 16:05 سے 20:30 UTC ہے؛ Brevo کے اپنے صفحات پر login یا browsing کی جانچ کے لیے 15:01 UTC سے آغاز مناسب ہے۔

ClickFix اور WordPress کے حملے الگ تھے

عام visitor کو جعلی Cloudflare verification صفحہ دکھایا جا سکتا تھا، جو Windows میں clipboard پر رکھی command چلانے کی ہدایت دیتا تھا۔ وہ command یہاں شائع نہیں کی جا رہی۔ Brevo کے مطابق یہ prompt منتخب visitors کو دکھایا جاتا تھا، اس لیے کسی page visit کا log اکیلا یہ ثابت نہیں کرتا کہ visitor نے prompt دیکھا یا ہدایت پر عمل کیا۔

WordPress site پر injected script یہ بھی دیکھتی تھی کہ visitor administrator کے طور پر logged in ہے یا نہیں۔ ایسی صورت میں اس نے plugin upload اور activation endpoints کے ذریعے plugin نصب کرنے کی کوشش کی۔ BleepingComputer کے حاصل کردہ package کے تجزیے میں plugin کا نام “Web Media Optimizer” تھا؛ وہ plugin list سے خود کو چھپا سکتا تھا، must-use plugins directory میں نقل بناتا تھا اور مستقل backdoor و JavaScript loader کا کام کرتا تھا۔

اپنی site اور visitors کا exposure کیسے جانچیں

پہلے یہ طے کریں کہ متعلقہ window میں site نے Brevo SDK loader، Conversations widget یا hosted form استعمال کیا تھا یا نہیں۔ موجودہ asset کا صاف ہونا کافی جواب نہیں، کیونکہ Brevo نے Worker اور routes ہٹانے کے بعد caches صاف کر دی تھیں۔ Theme، tag manager، consent manager اور WordPress plugin settings میں Brevo یا اس کے سابق نام Sendinblue کے embeds بھی شامل کیے جائیں۔

اس کے بعد دستیاب browser captures، reverse-proxy records، CDN logs، DNS logs اور endpoint telemetry کو وقت کے اسی دائرے میں دیکھیں۔ Malicious loader کے لیے درج ذیل Brevo-owned domain کے صرف مخصوص subdomains indicators تھے: cdn، cdn2، cdn3، cdn4، cdn9، cdn10 اور cdn11.sendibt1.com۔ پورے sendibt1.com domain کو indicator سمجھنا درست نہیں، کیونکہ اس کا apex Brevo کی جائز email tracking کے لیے بھی استعمال ہوتا ہے۔

  • 14 ستمبر کو 16:05–20:30 UTC کے دوران Brevo کے embedded assets کی requests اور محفوظ responses تلاش کریں۔
  • Delivered JavaScript کے آخر میں غیر متوقع loader اور response سے غائب Content-Security-Policy header دیکھیں۔
  • WordPress access logs میں /wp-admin/update.php?action=upload-plugin کی POST اور اس کے بعد plugin activation request تلاش کریں۔
  • 14 ستمبر کو بننے یا بدلنے والی plugin directories کا WordPress dashboard کی فہرست سے تقابل کریں اور must-use plugins الگ جانچیں۔
  • Support، browser یا endpoint records میں جعلی “verify you are human” صفحہ دیکھنے یا اس کی ہدایت چلانے کی رپورٹ تلاش کریں۔

کون سا ثبوت فوری incident response مانگتا ہے

اگر صرف متاثرہ asset کی request ملتی ہے، مگر administrator logged in نہیں تھا اور کسی visitor کے command چلانے کا ثبوت نہیں، تو اسے confirmed infection کے بجائے exposure سمجھا جائے۔ تاہم نامکمل logs میں evidence نہ ملنا محفوظ ہونے کا قطعی ثبوت نہیں، کیونکہ ClickFix ہر visitor کو نہیں دکھایا جاتا تھا۔

اگر administrator نے متعلقہ وقت میں متاثرہ WordPress site کھولی تھی تو نئی، hidden اور must-use plugin files، administrator sessions اور account changes کا جائزہ ضروری ہے۔ مشکوک plugin ملنے پر صرف dashboard سے deactivate کرنا کافی نہیں؛ site کو potentially compromised سمجھتے ہوئے administrator passwords اور sessions بدلنا، verified files یا clean backup سے بحالی کرنا اور injected code سے متاثر ہونے والے visitors کی حد معلوم کرنا ضروری ہے۔

جس visitor نے ClickFix ہدایت پر عمل کیا، اس Windows endpoint کو compromised سمجھنا چاہیے۔ Brevo کی ہدایت ہے کہ مشین network سے الگ کی جائے، مکمل antivirus scan چلایا جائے اور اس پر استعمال ہونے والے passwords بدلے جائیں، ابتدا Brevo password سے ہو۔

واقعہ resolved ہے، مگر متاثرہ sites کی قطعی تعداد نامعلوم

Brevo نے 20:30 UTC پر malicious Worker اور routes ہٹا دیے، compromised key اور اس سے بننے والے credentials revoke کیے، attacker hostnames حذف کیے اور edge caches purge کر دیں۔ کمپنی نے hardcoded credential کو source code سے نکال کر محدود اختیارات والے short-lived tokens لگانے، Cloudflare audit changes پر alerts اور public scripts کی بیرونی integrity monitoring شامل کرنے کا اعلان کیا ہے۔ Conversations widget، SDK اور forms کو اب محفوظ قرار دیا گیا ہے، جبکہ hardening جاری ہے۔

اب بھی یہ معلوم نہیں کہ کتنی sites پر plugin واقعی کامیابی سے نصب ہوا یا کتنے visitors نے ClickFix command چلائی۔ ایک لاکھ سے زیادہ کا عدد components کی reach بتاتا ہے، confirmed compromises نہیں۔ ہر site کا نتیجہ اس کے embed configuration، 14 ستمبر کے logs، administrator activity اور visitor reports سے نکلے گا—اور یہی واقعہ دکھاتا ہے کہ third-party JavaScript میں origin صاف رہنے کے باوجود edge سے ملنے والا response آلودہ ہو سکتا ہے۔

یہ بھی پڑھیں:

شیئر کریں:

ہمارا نیوز لیٹر سبسکرائب کریں

ویب 3، AI اور کرپٹو کی تازہ خبریں براہ راست اپنے اِن باکس میں پائیں۔

0