ld.so OpenBSD میں کمزوری۔

متحرک لوڈر ld.soاوپن بی ایس ڈی کے ساتھ شامل، کچھ شرائط کے تحت، SUID/SGID- ایپلی کیشنز LD_LIBRARY_PATH ماحولیاتی متغیر کو چھوڑ دیتی ہیں اور اس طرح اعلیٰ مراعات کے ساتھ چلنے والے عمل کے تناظر میں فریق ثالث کوڈ کو لوڈ کرنے کی اجازت دیتی ہیں۔ پیچس جو کمزوری کو ٹھیک کرتے ہیں ریلیز کے لیے دستیاب ہیں۔ 6.5 и 6.6. بائنری پیچ (syspatch) amd64، i386 اور arm64 پلیٹ فارمز پہلے ہی پروڈکشن میں ہیں اور اس خبر کے شائع ہونے تک ڈاؤن لوڈ کے لیے دستیاب ہونا چاہیے۔

مسئلہ کا جوہر: آپریشن کے دوران، ld.so پہلے ماحول سے LD_LIBRARY_PATH متغیر کی قدر نکالتا ہے اور _dl_split_path() فنکشن کا استعمال کرتے ہوئے اسے تاروں کی ایک صف میں بدل دیتا ہے - ڈائریکٹریز کے راستے۔ اگر بعد میں پتہ چلتا ہے کہ موجودہ عمل SUID/SGID ایپلیکیشن کے ذریعے شروع کیا گیا ہے، تو تخلیق شدہ صف اور درحقیقت LD_LIBRARY_PATH متغیر کو صاف کر دیا جاتا ہے۔ ایک ہی وقت میں، اگر _dl_split_path() میموری سے باہر ہو جائے (جو ماحولیاتی متغیر کے سائز پر واضح 256 kB کی حد کی وجہ سے مشکل ہے، لیکن نظریاتی طور پر ممکن ہے)، تو _dl_libpath متغیر کو NULL کی قدر ملے گی، اور اس کے بعد کی جانچ پڑتال اس متغیر کی قدر کال کو _dl_unsetenv("LD_LIBRARY_PATH") پر جانے پر مجبور کر دے گی۔

ماہرین کے ذریعہ پایا جانے والا خطرہ قابلیت، اس کے ساتھ ساتھ کئی پہلے انکشاف مسائل. حفاظتی محققین جنہوں نے خطرے کی نشاندہی کی انہوں نے نوٹ کیا کہ مسئلہ کتنی جلدی حل ہوا: ایک پیچ تیار کیا گیا اور اوپن بی ایس ڈی پروجیکٹ کی اطلاع موصول ہونے کے بعد تین گھنٹے کے اندر اپ ڈیٹس جاری کردی گئیں۔

اضافہ: مسئلہ کو ایک نمبر تفویض کیا گیا ہے۔ CVE-2019-19726. oss-security میلنگ لسٹ پر بنایا گیا ہے۔ سرکاری اعلاناوپن بی ایس ڈی 6.6، 6.5، 6.2 اور 6.1 آرکیٹیکچرز پر چلنے والے پروٹوٹائپ ایکسپلائٹ سمیت
amd64 اور i386 (استحصال کو دوسرے فن تعمیر کے لئے ڈھال لیا جاسکتا ہے)۔
یہ مسئلہ ڈیفالٹ انسٹالیشن میں فائدہ مند ہے اور ایک غیر مراعات یافتہ مقامی صارف کو chpass یا passwd suid یوٹیلیٹیز کو چلاتے وقت لائبریری کے متبادل کے ذریعے کوڈ کو روٹ کے طور پر چلانے کی اجازت دیتا ہے۔ آپریشن کے لیے ضروری کم یادداشت کے حالات بنانے کے لیے، RLIMIT_DATA کی حد setrlimit کے ذریعے سیٹ کریں۔

ماخذ: opennet.ru

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