ایگزم میں نازک خطرے کی تفصیلات سامنے آ گئیں۔

شائع ہوا اصلاحی رہائی Exim 4.92.2 اہم کے خاتمے کے ساتھ کمزوریاں (CVE-2019-15846)، جو ڈیفالٹ کنفیگریشن میں روٹ مراعات کے ساتھ حملہ آور کے ذریعے ریموٹ کوڈ پر عمل درآمد کا باعث بن سکتا ہے۔ مسئلہ صرف اس وقت ظاہر ہوتا ہے جب TLS سپورٹ کو فعال کیا جاتا ہے اور خاص طور پر ڈیزائن کردہ کلائنٹ سرٹیفکیٹ یا ترمیم شدہ قدر SNI کو دے کر اس کا استحصال کیا جاتا ہے۔ کمزوری شناخت کیا Qualis کی طرف سے.

مسئلہ موجودہ سٹرنگ میں خصوصی حروف سے بچنے کے لیے ہینڈلر میں (string_interpret_escape() string.c) سے ہے اور اسٹرنگ کے آخر میں '\' کریکٹر کو null کریکٹر ('\0') سے پہلے تشریح کرنے اور اس سے فرار ہونے کی وجہ سے ہوتا ہے۔ فرار ہونے پر، ترتیب '\' اور مندرجہ ذیل null end-of-line کوڈ کو ایک کریکٹر کے طور پر سمجھا جاتا ہے اور پوائنٹر کو لائن سے باہر ڈیٹا میں منتقل کیا جاتا ہے، جسے لائن کے تسلسل کے طور پر سمجھا جاتا ہے۔

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

ڈیفالٹ کنفیگریشن میں، سرور سے محفوظ کنکشن قائم کرتے وقت SNI کو خصوصی طور پر ڈیزائن کردہ ڈیٹا بھیج کر کمزوری کا فائدہ اٹھایا جا سکتا ہے۔ کلائنٹ سرٹیفکیٹ کی توثیق کے لیے تشکیل کردہ کنفیگریشنز میں peerdn اقدار میں ترمیم کرکے یا سرٹیفکیٹس درآمد کرتے وقت بھی مسئلہ کا فائدہ اٹھایا جاسکتا ہے۔ SNI اور peerdn کے ذریعے حملہ ریلیز سے ہی ممکن ہے۔ Exim 4.80، جس میں string_unprinting() فنکشن کو peerdn اور SNI مواد کی پرنٹ ختم کرنے کے لیے استعمال کیا گیا تھا۔

Glibc کے ساتھ لینکس سسٹمز پر i386 اور amd64 آرکیٹیکچرز پر چلنے والے SNI کے ذریعے حملے کے لیے ایک ایکسپلائٹ پروٹو ٹائپ تیار کیا گیا ہے۔ ایکسپلائٹ ہیپ ایریا پر ڈیٹا اوورلے کا استعمال کرتا ہے، جس کے نتیجے میں اس میموری کو اوور رائٹ کیا جاتا ہے جس میں لاگ فائل کا نام محفوظ ہوتا ہے۔ فائل کا نام "/../.../../../../../../../etc/passwd" سے بدل دیا گیا ہے۔ اس کے بعد، بھیجنے والے کے ایڈریس کے ساتھ متغیر کو اوور رائٹ کیا جاتا ہے، جو پہلے لاگ میں محفوظ ہوتا ہے، جو آپ کو سسٹم میں ایک نیا صارف شامل کرنے کی اجازت دیتا ہے۔

ڈسٹری بیوشنز کے ذریعے جاری کردہ خطرے سے متعلق اصلاحات کے ساتھ پیکیج اپ ڈیٹس Debian, اوبنٹو, Fedora, سوس/اوپن سوس и FreeBSD. RHEL اور CentOS کا مسئلہ حساس نہیںچونکہ Exim ان کے ریگولر پیکیج ریپوزٹری میں شامل نہیں ہے۔ ای پی ای ایل اپ ڈیٹ کریں پہلے ہی تشکیل دیا، لیکن ابھی کے لئے نہیں رکھا عوامی ذخیرہ میں)۔ ایگزم کوڈ میں مسئلہ کو ون لائنر سے حل کیا جاتا ہے۔ پیچ، جو بیک سلیش کے فرار ہونے والے اثر کو غیر فعال کرتا ہے اگر یہ لائن کے آخر میں ہے۔

خطرے کو روکنے کے لیے ایک حل کے طور پر، آپ TLS سپورٹ کو غیر فعال یا شامل کر سکتے ہیں۔
ACL سیکشن "acl_smtp_mail":

انکار شرط = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
انکار شرط = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

ماخذ: opennet.ru

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