د سوډو روټ زیانمنتیا د لینکس مینټ او ایلیمینټري OS اغیزه کوي

په افادیت کې سوډود نورو کاروونکو په استازیتوب د امرونو اجرا کولو تنظیم کولو لپاره کارول کیږي، پیژندل شوی زیانمنتیا (CVE-2019-18634)، کوم چې تاسو ته اجازه درکوي په سیسټم کې خپل امتیازات د روټ کارونکي ته زیات کړئ. ستونزه یوازې د sudo 1.7.1 له خپریدو راهیسې څرګندیږي کله چې په /etc/sudoers فایل کې د "pwfeedback" اختیار کاروي ، کوم چې په ډیفالټ غیر فعال شوی مګر په ځینو توزیعونو لکه لینکس مینټ او ایلیمینټري OS کې فعال شوی. په خوشې کیدو کې مسله حل شوې سوډو 1.8.31، څو ساعته مخکې خپور شو. زیانمنتیا د توزیع کټونو کې ناڅرګنده پاتې ده.

د "pwfeedback" اختیار د هر داخل شوي کرکټر وروسته د "*" کرکټر ښودلو وړ کوي کله چې پاسورډ داخل کړئ. لدې امله خطاګانې د getln() فنکشن په پلي کولو کې، په tgetpass.c فایل کې تعریف شوی، یو ډیر لوی پاسورډ تار چې د معیاري ان پټ سټریم (stdin) له لارې په ځینو شرایطو کې تیریږي ممکن په تخصیص شوي بفر کې مناسب نه وي او په سټیک کې نور معلومات له سره لیکي. ډیر جریان واقع کیږي کله چې د روټ په توګه د سوډو کوډ چلوي.

د ستونزې جوهر دا دی چې کله د ان پټ په جریان کې د ځانګړي کرکټر ^U (لین پاکولو) کارول کیږي او که د لیکلو عملیات ناکام شي ، کوډ د محصول "*" حروف پاکولو مسؤلیت لري د موجود بفر اندازې ډاټا بیا تنظیموي ، مګر داسې نه کوي. پوائنټر په بفر کې د اوسني ارزښت لومړني موقعیت ته راستانه کړئ. بل فاکتور چې د استخراج سره مرسته کوي د "pwfeedback" حالت د اتوماتیک غیر فعال کیدو نشتوالی دی کله چې ډاټا له ټرمینل څخه نه راځي ، مګر د ان پټ سټریم له لارې (دا نیمګړتیا د ثبت کولو خطا لپاره شرایط رامینځته کولو ته اجازه ورکوي ، د مثال په توګه په سیسټمونو کې. یو طرفه بې نومه چینلونه یوه تېروتنه واقع کیږي کله چې د لوستلو چینل پای ته د لیکلو هڅه وکړئ).

څرنګه چې یو برید کونکی په سټیک کې د ډیټا بیا لیکلو باندې بشپړ کنټرول لري ، نو دا ستونزمنه نده چې داسې استحصال رامینځته کړي چې هغه ته اجازه ورکوي خپل امتیازات ریښې ته واړوي. ستونزه د هر کارونکي لخوا کارول کیدی شي، پرته له دې چې په sudoers کې د sudo اجازې یا د کارونکي ځانګړي ترتیباتو په پام کې نیولو سره. د ستونزې د بندولو لپاره، تاسو باید ډاډ ترلاسه کړئ چې په /etc/sudoers کې د "pwfeedback" ترتیب شتون نلري او که اړتیا وي، دا غیر فعال کړئ ("Default ! pwfeedback"). د دې لپاره چې وګورئ چې کومه ستونزه شتون لري، تاسو کولی شئ کوډ چل کړئ:

$ perl -e 'چاپ(("A" x 100 . "\x{00}") x 50)' | sudo -S id
پاسورډ: د قطع کولو غلطی

سرچینه: opennet.ru

Add a comment