OpenSSH 9.2 کو پہلے سے تصدیق کے خطرے کے حل کے ساتھ جاری کیا گیا۔

OpenSSH 9.2 کی ریلیز شائع ہو چکی ہے، SSH 2.0 اور SFTP پروٹوکول کا استعمال کرتے ہوئے کام کرنے کے لیے کلائنٹ اور سرور کا کھلا نفاذ۔ نیا ورژن ایک کمزوری کو ختم کرتا ہے جو پہلے سے تصدیق کے مرحلے پر میموری کو دوگنا آزاد کرنے کا باعث بنتا ہے۔ صرف OpenSSH 9.1 ریلیز متاثر ہے؛ مسئلہ پہلے کے ورژن میں ظاہر نہیں ہوتا ہے۔

کمزوری کے اظہار کے لیے حالات پیدا کرنے کے لیے، SSH کلائنٹ بینر کو "SSH-2.0-FuTTYSH_9.1p1" میں تبدیل کرنا کافی ہے تاکہ پرچم "SSH_BUG_CURVE25519PAD" اور "SSH_OLD_DHGEX" کو سیٹ کیا جا سکے، جو SSH کے ورژن پر منحصر ہے۔ کلائنٹ ان جھنڈوں کو ترتیب دینے کے بعد، "options.kex_algorithms" بفر کے لیے میموری کو دو بار آزاد کیا جاتا ہے - do_ssh2_kex() فنکشن پر عمل کرتے وقت، جسے compat_kex_proposal() کہتے ہیں، اور do_authentication2() فنکشن پر عمل کرتے وقت، جسے input_userauth_lown_rege) کہتے ہیں۔ )، copy_set_server_options() سلسلہ کے ساتھ، assemble_algorithms() اور kex_assemble_names()۔

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

قابل ذکر خطرے کے علاوہ، نئی ریلیز دو مزید سیکورٹی مسائل کو بھی حل کرتی ہے:

  • "PermitRemoteOpen" ترتیب پر کارروائی کرتے وقت ایک خرابی پیش آگئی، جس کی وجہ سے پہلی دلیل کو نظر انداز کر دیا جائے گا اگر یہ اقدار "any" اور "none" سے مختلف ہو۔ مسئلہ OpenSSH 8.7 سے نئے ورژن میں ظاہر ہوتا ہے اور صرف ایک اجازت کی وضاحت کرنے پر چیک کو چھوڑنے کا سبب بنتا ہے۔
  • ناموں کو حل کرنے کے لیے استعمال ہونے والے DNS سرور کو کنٹرول کرنے والا حملہ آور مخصوص حروف (مثال کے طور پر "*") کو معلوم_ہوسٹ فائلوں میں تبدیل کر سکتا ہے اگر کنفیگریشن میں CanonicalizeHostname اور CanonicalizePermittedCNAMEs کے اختیارات فعال ہیں، اور سسٹم ریزولور درستگی کی جانچ نہیں کرتا ہے۔ DNS سرور سے جوابات۔ حملے کا امکان کم سمجھا جاتا ہے کیونکہ واپس کیے گئے نام CanonicalizePermittedCNAMEs کے ذریعے بیان کردہ شرائط سے مماثل ہونے چاہئیں۔

دیگر تبدیلیاں:

  • ایک EnableEscapeCommandline ترتیب کو ssh_config میں ssh کے لیے شامل کیا گیا ہے تاکہ یہ کنٹرول کیا جا سکے کہ آیا کمانڈ لائن فراہم کرنے والے "~C" فرار کی ترتیب کی کلائنٹ سائیڈ پروسیسنگ فعال ہے۔ پہلے سے طے شدہ طور پر، "~C" ہینڈلنگ کو اب سخت سینڈ باکس آئسولیشن استعمال کرنے کے لیے غیر فعال کر دیا گیا ہے، ممکنہ طور پر ایسے سسٹمز کو توڑنا جو رن ٹائم پر پورٹ فارورڈنگ کے لیے "~C" استعمال کرتے ہیں۔
  • چینل کی غیرفعالیت کا ٹائم آؤٹ سیٹ کرنے کے لیے sshd_config میں ChannelTimeout ڈائریکٹیو کو شامل کیا گیا ہے (وہ چینل جن میں ہدایت میں بیان کردہ وقت کے لیے کوئی ٹریفک ریکارڈ نہیں کیا جاتا ہے وہ خود بخود بند ہو جائیں گے)۔ سیشن، X11، ایجنٹ، اور ٹریفک ری ڈائریکشن کے لیے مختلف ٹائم آؤٹ سیٹ کیے جا سکتے ہیں۔
  • UnusedConnectionTimeout ہدایت کو sshd_config کے لیے sshd میں شامل کر دیا گیا ہے، جس سے آپ کلائنٹ کنکشن کو ختم کرنے کے لیے ٹائم آؤٹ سیٹ کر سکتے ہیں جو ایک خاص وقت سے فعال چینلز کے بغیر ہیں۔
  • ورژن کو ظاہر کرنے کے لیے sshd میں "-V" آپشن شامل کیا گیا ہے، جیسا کہ ssh کلائنٹ میں ملتا جلتا آپشن ہے۔
  • "ssh -G" کے آؤٹ پٹ میں "Host" لائن کو شامل کیا، میزبان نام کی دلیل کی قدر کو ظاہر کرتا ہے۔
  • SFTP پروٹوکول پیرامیٹرز جیسے کاپی بفر سائز اور زیر التواء درخواستوں کی تعداد کو کنٹرول کرنے کے لیے "-X" آپشن کو scp اور sftp میں شامل کیا گیا ہے۔
  • ssh-keyscan مکمل CIDR ایڈریس رینجز کو اسکین کرنے کی اجازت دیتا ہے، مثال کے طور پر "ssh-keyscan 192.168.0.0/24"۔

ماخذ: opennet.ru

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