Vim میں خطرے کی وجہ سے کوڈ پر عمل درآمد ہوتا ہے جب کوئی بدنیتی پر مبنی فائل کھولی جاتی ہے۔

ٹیکسٹ ایڈیٹرز میں طاقت и نیویم پایا کمزوری (CVE-2019-12735) جو خصوصی طور پر تیار کردہ فائل کو کھولنے پر صوابدیدی کوڈ کو عمل میں لانے کی اجازت دیتا ہے۔ مسئلہ اس وقت ظاہر ہوتا ہے جب ڈیفالٹ ماڈل لائن (":سیٹ ماڈل لائن") موڈ فعال ہوتا ہے، جو آپ کو پروسیس شدہ فائل میں ترمیم کے اختیارات کی وضاحت کرنے کی اجازت دیتا ہے۔ ریلیز میں خطرے کا تعین
ویم 8.1.1365 и نیوویم 0.3.6.

ماڈل لائن کے ذریعے صرف محدود تعداد میں اختیارات مرتب کیے جا سکتے ہیں۔ اگر کسی اظہار کو آپشن ویلیو کے طور پر بیان کیا جاتا ہے، تو اسے سینڈ باکس موڈ میں انجام دیا جاتا ہے، جو صرف آسان ترین محفوظ آپریشنز کو استعمال کرنے کی اجازت دیتا ہے۔ ایک ہی وقت میں، ": سورس" کمانڈ درست لوگوں میں شامل ہے، جس میں آپ "!" موڈیفائر استعمال کر سکتے ہیں۔ مخصوص فائل سے صوابدیدی کمانڈ چلانے کے لیے۔ اس طرح، کوڈ کو انجام دینے کے لیے، ماڈل لائن میں "set foldexpr=execute('\:source! some_file'):" جیسی تعمیر کی وضاحت کرنا کافی ہے۔ Neovim ایکسیکیوٹ کال کی اجازت نہیں دیتا، لیکن آپ اس کے بجائے assert_fails استعمال کرسکتے ہیں۔

مثال کے طور پر، "uname -a" کمانڈ چلانے کے لیے، صرف Vim یا Neovim میں ایک فائل کھولیں جس کی پہلی یا آخری لائن کہے:

:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\%"):fdl=0:fdt="

"ذریعہ! %" موجودہ فائل سے کمانڈز کو پڑھے گا اور اس کے مطابق ":!uname -a" کو عمل میں لائے گا۔ کیٹ یوٹیلیٹی دی گئی سٹرنگ کو آؤٹ پٹ سے چھپانے کے لیے فرار کے سلسلے کا استعمال کر سکتی ہے۔ مثال کے طور پر، اس میں پروٹوٹائپ کا استحصال vim میں فائل کو کھولتے وقت، شکار کے نظام تک شیل رسائی کے ساتھ ایک نیٹ ورک کنکشن بنایا جاتا ہے، لیکن کیٹ یوٹیلیٹی کے ساتھ ٹرمینل پر آؤٹ پٹ ہونے پر یہ فائل شک کو جنم نہیں دے گی۔

آپ چیک کر سکتے ہیں کہ آیا ماڈلن موڈ ":set modeline؟" کمانڈ کے ساتھ فعال ہے۔ اسے غیر فعال کرنے کے لیے، آپ vimrc میں "set nomodeline" لائن شامل کر سکتے ہیں۔ تقسیم میں، مسئلہ میں طے کیا گیا ہے RHEL, سوس/اوپن سوس, Fedora, FreeBSD, اوبنٹو, آرک لینکس и ALT. کمزوری اب بھی بے نیاز ہے۔ Debian (Debian میں، modeline کو بطور ڈیفالٹ غیر فعال کر دیا جاتا ہے، لہذا کمزوری خود کو ڈیفالٹ حالت میں ظاہر نہیں کرتی ہے)۔

ماخذ: opennet.ru

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