OpenSMTPD میں کمزوریاں جو دور دراز اور مقامی جڑ تک رسائی کی اجازت دیتی ہیں۔

کوالیس کمپنی نازل کیا میل سرور میں ایک اور ریموٹ نازک خطرہ (CVE-2020-8794) اوپن ایس ایم ٹی پی ڈیاوپن بی ایس ڈی پروجیکٹ کے ذریعہ تیار کیا گیا ہے۔ جیسا کہ جنوری کے آخر میں شناخت کیا گیا تھا۔ کمزوری، ایک نیا مسئلہ روٹ صارف کے حقوق کے ساتھ سرور پر صوابدیدی شیل کمانڈز کو دور سے انجام دینا ممکن بناتا ہے۔ کمزوری ختم کر دیا مسئلہ میں OpenSMTPD 6.6.4p1.

مسئلہ کوڈ میں ایک بگ کی وجہ سے ہے جو میل کو ریموٹ میل سرور پر پہنچاتا ہے (اس کوڈ میں نہیں جو آنے والے کنکشن کو ہینڈل کرتا ہے)۔ حملہ کلائنٹ کی طرف اور سرور کی طرف دونوں پر ممکن ہے۔ کلائنٹ کی طرف، حملہ OpenSMTPD کی ڈیفالٹ ترتیب میں ممکن ہے، جس میں OpenSMTPD صرف اندرونی نیٹ ورک انٹرفیس (لوکل ہوسٹ) پر درخواستیں قبول کرتا ہے اور میل پیغامات بیرونی سرورز کو بھیجتا ہے۔ خطرے سے فائدہ اٹھانے کے لیے، یہ کافی ہے کہ، خط کی ترسیل کے دوران، OpenSMTPD حملہ آور کے زیر کنٹرول میل سرور کے ساتھ ایک سیشن قائم کرتا ہے، یا یہ کہ حملہ آور کلائنٹ کنکشن (MITM یا DNS یا BGP کے ذریعے حملوں کے دوران ری ڈائریکشن) سے رابطہ کر سکتا ہے۔ )۔

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

مسئلہ mta_io() فنکشن میں موجود ہے جو کہ کنکشن قائم ہونے کے بعد ریموٹ سرور کے ذریعے لوٹائے گئے ملٹی لائن جواب کو پارس کرنے کے لیے کوڈ میں ہے (مثال کے طور پر، "250-ENHANCEDSTATUSCODES" اور "250 HELP")۔ OpenSMTPD حساب لگاتا ہے کہ پہلی لائن میں تین ہندسوں کا نمبر اور متن شامل ہوتا ہے جسے "-" کریکٹر سے الگ کیا جاتا ہے، اور دوسری لائن میں تین ہندسوں کا نمبر اور متن کو اسپیس سے الگ کیا جاتا ہے۔ اگر تین ہندسوں کے نمبر کے بعد دوسری لائن میں اسپیس اور متن نہیں آتا ہے، تو متن کی وضاحت کے لیے استعمال ہونے والے پوائنٹر کو '\0' کریکٹر کے بعد بائٹ پر سیٹ کیا جاتا ہے اور اختتام کے بعد ڈیٹا کو کاپی کرنے کی کوشش کی جاتی ہے۔ بفر میں لائن کی.

OpenBSD پروجیکٹ کی درخواست پر، کمزوریوں کے استحصال کے بارے میں تفصیلات کی اشاعت کو 26 فروری تک موخر کر دیا گیا ہے تاکہ صارفین اپنے سسٹم کو اپ ڈیٹ کر سکیں۔ یہ مسئلہ دسمبر 2015 سے کوڈ بیس میں موجود ہے، لیکن کوڈ پر عمل درآمد سے قبل روٹ مراعات کے ساتھ استحصال مئی 2018 سے ممکن ہو گیا ہے۔ محققین نے استحصال کا ایک ورکنگ پروٹو ٹائپ تیار کیا، جس کا اوپن بی ایس ڈی 6.6، اوپن بی ایس ڈی 5.9، ڈیبیان 10، ڈیبین 11 (ٹیسٹنگ) اور فیڈورا 31 کے لیے اوپن ایس ایم ٹی پی ڈی بلڈز میں کامیابی سے تجربہ کیا گیا۔

OpenSMTPD میں بھی شناخت کیا ایک اور کمزوری (CVE-2020-8793) جو مقامی صارف کو سسٹم پر کسی بھی فائل کی پہلی لائن پڑھنے کی اجازت دیتی ہے۔ مثال کے طور پر، آپ /etc/master.passwd کی پہلی لائن پڑھ سکتے ہیں، جس میں روٹ صارف کا پاس ورڈ ہیش ہے۔ کمزوری آپ کو کسی دوسرے صارف کی ملکیت والی فائل کے پورے مواد کو پڑھنے کی بھی اجازت دیتی ہے اگر یہ فائل اسی فائل سسٹم میں موجود ہے جس میں /var/spool/smtpd/ ڈائریکٹری ہے۔ یہ مسئلہ بہت سے لینکس ڈسٹری بیوشنز پر قابل استعمال نہیں ہے جہاں /proc/sys/fs/protected_hardlinks کی قدر 1 پر سیٹ کی گئی ہے۔

مسئلہ نامکمل خاتمے کا نتیجہ ہے۔ مسائل2015 میں Qualys کی طرف سے کئے گئے آڈٹ کے دوران آواز دی گئی۔ حملہ آور "PATH=" متغیر کو ترتیب دے کر "_smtpq" گروپ کے حقوق کے ساتھ اپنے کوڈ پر عمل درآمد کر سکتا ہے۔ اور موجودہ ڈائرکٹری میں میک میپ نامی اسکرپٹ رکھنا (smtpctl یوٹیلیٹی واضح طور پر راستے کی وضاحت کیے بغیر میک میپ چلاتی ہے)۔ "_smtpq" گروپ تک رسائی حاصل کر کے، حملہ آور پھر ریس کی حالت کا سبب بن سکتا ہے (آف لائن ڈائرکٹری میں ایک بڑی فائل بنائیں اور ایک SIGSTOP سگنل بھیجیں) اور پروسیسنگ مکمل ہونے سے پہلے، آف لائن ڈائرکٹری میں فائل کو ہارڈ سے تبدیل کر دیں۔ symlink ہدف فائل کی طرف اشارہ کرتا ہے جس کے مواد کو پڑھنے کی ضرورت ہے۔

یہ قابل ذکر ہے کہ Fedora 31 میں کمزوری آپ کو فوری طور پر روٹ گروپ کی مراعات حاصل کرنے کی اجازت دیتی ہے، کیونکہ smtpctl عمل setgid smtpq پرچم کی بجائے سیٹگیڈ روٹ پرچم سے لیس ہے۔ روٹ گروپ تک رسائی حاصل کر کے، آپ /var/lib/sss/mc/passwd کے مواد کو اوور رائٹ کر سکتے ہیں اور سسٹم تک مکمل روٹ رسائی حاصل کر سکتے ہیں۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں