متحرک لوڈر ، جو OpenBSD کا حصہ ہے، کچھ شرائط کے تحت کر سکتا ہے، - ایپلی کیشنز LD_LIBRARY_PATH ماحولیاتی متغیر کو چھوڑ دیتی ہیں، اس طرح اعلیٰ مراعات کے ساتھ چلنے والے عمل کے تناظر میں فریق ثالث کوڈ کو لوڈ کرنے کی اجازت دیتا ہے۔ خطرے کو ٹھیک کرنے والے پیچ ریلیز کے لیے دستیاب ہیں۔ и . بائنری پیچ () کے لیے 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") کال کو چھوڑنا ہے۔
اس خطرے کو ماہرین نے دریافت کیا۔ ، بالکل اسی طرح سیکیورٹی محققین جنہوں نے کمزوری کی نشاندہی کی، اس رفتار کو نوٹ کیا جس کے ساتھ مسئلہ حل ہوا: ایک پیچ تیار کیا گیا اور اوپن بی ایس ڈی پروجیکٹ کی اطلاع موصول ہونے کے تین گھنٹے کے اندر اپ ڈیٹس جاری کردی گئیں۔
اضافہ: مسئلہ کو ایک نمبر تفویض کیا گیا ہے۔ . oss-security میلنگ لسٹ کو اپ ڈیٹ کر دیا گیا ہے۔ ، جس میں ایک پروٹو ٹائپ ایکسپلائٹ شامل ہے جو اوپن بی ایس ڈی 6.6، 6.5، 6.2، اور 6.1 آرکیٹیکچرز پر کام کرتا ہے۔
amd64 اور i386 (استحصال کو دوسرے فن تعمیر کے لئے ڈھال لیا جاسکتا ہے)۔
ڈیفالٹ انسٹالیشن میں کمزوری کا فائدہ اٹھایا جا سکتا ہے اور ایک غیر مراعات یافتہ مقامی صارف کو suid یوٹیلیٹیز chpass یا passwd چلاتے وقت لائبریری کے متبادل کے ذریعے روٹ مراعات کے ساتھ کوڈ پر عمل درآمد کرنے کی اجازت دیتا ہے۔ استحصال کے لیے ضروری کم یادداشت کے حالات پیدا کرنے کے لیے، RLIMIT_DATA کی حد setrlimit کے ذریعے سیٹ کی گئی ہے۔
ماخذ: opennet.ru
