لينڪس ڪنييل جي VFS ۾ هڪ ڪمزوري جيڪا توهان کي اجازت ڏئي ٿي ته توهان جي استحقاق کي وڌايو

هڪ نقصان (CVE-2022-0185) جي سڃاڻپ ڪئي وئي آهي Filesystem Context API ۾ مهيا ڪيل لينڪس ڪرنل، جيڪا مقامي صارف کي سسٽم تي روٽ استحقاق حاصل ڪرڻ جي اجازت ڏئي ٿي. محقق جنهن مسئلي جي نشاندهي ڪئي هڪ استحصال جو هڪ مظاهرو شايع ڪيو جيڪو توهان کي اجازت ڏئي ٿو ڪوڊ کي روٽ طور Ubuntu 20.04 تي ڊفالٽ ترتيب ۾. استحصال ڪوڊ هڪ هفتي اندر GitHub تي پوسٽ ڪرڻ جي منصوبابندي ڪئي وئي آهي جڏهن تقسيم هڪ تازه ڪاري جاري ڪري ٿي جيڪا نقصان کي حل ڪري ٿي.

VFS ۾ legacy_parse_param() فنڪشن ۾ ڪمزوري موجود آهي ۽ فائل سسٽم تي مهيا ڪيل پيراميٽرن جي وڌ ۾ وڌ سائيز کي صحيح طور تي جانچڻ ۾ ناڪامي جي ڪري آهي جيڪي فائل سسٽم جي حوالي سان API کي سپورٽ نٿا ڪن. ھڪڙو پيرا ميٽر پاس ڪرڻ جيڪو تمام وڏو آھي انٽيجر متغير جي اوور فلو جو سبب بڻجي سگھي ٿو جيڪو ڊيٽا جي سائيز کي ڳڻڻ لاءِ استعمال ڪيو ويو آھي - ڪوڊ ۾ بفر اوور فلو چيڪ آھي "if (len> PAGE_SIZE - 2 - size)"، جيڪو نٿو ڪري ڪم ڪريو جيڪڏهن سائيز جي قيمت 4094 کان وڌيڪ آهي. هيٺين بائونڊ ذريعي انٽيجر اوور فلو لاءِ (انٽيجر انڊر فلو، جڏهن 4096 - 2 - 4095 کي اڻ دستخط ٿيل انٽ ڏانهن ڪاسٽ ڪيو وڃي، نتيجو 2147483648 آهي).

هي غلطي اجازت ڏئي ٿي، جڏهن خاص طور تي ٺهيل فائل سسٽم جي تصوير تائين رسائي حاصل ڪري ٿي، بفر اوور فلو جو سبب بڻائين ۽ مختص ڪيل ميموري ايريا جي پٺيان ڪرنل ڊيٽا کي اوور رائٽ ڪري. ڪمزورين جو استحصال ڪرڻ لاءِ، توهان وٽ CAP_SYS_ADMIN حق هجڻ گهرجن، يعني. منتظم جا اختيار. مسئلو اهو آهي ته هڪ غير مراعات يافته صارف اهڙيون اجازتون حاصل ڪري سگهي ٿو هڪ الڳ ڪنٽينر ۾ جيڪڏهن سسٽم کي سپورٽ آهي صارف جي نالن جي جڳهن کي فعال ڪيو ويو آهي. مثال طور، Ubuntu ۽ Fedora تي ڊفالٽ طور يوزر نالن اسپيسز فعال ٿيل آهن، پر Debian ۽ RHEL تي فعال نه آهن (جيستائين ڪنٽينر آئسوليشن پليٽ فارم استعمال نه ڪيا وڃن).

مسئلو لينڪس ڪنيل 5.1 کان وٺي ظاهر ٿي رهيو آهي ۽ ڪالهه جي اپڊيٽس 5.16.2، 5.15.16، 5.10.93، 5.4.173 ۾ طئي ڪيو ويو آهي. پيڪيج تازه ڪاريون جيڪي خطري کي درست ڪن ٿيون اڳ ۾ ئي RHEL، Debian، Fedora، ۽ Ubuntu لاءِ جاري ڪيون ويون آهن. فيڪس اڃا تائين موجود ناهي آرڪ لينڪس، جينٽو، سوس ۽ اوپن سوس تي. سسٽم لاءِ حفاظتي ڪم جي طور تي جيڪي ڪنٽينر آئسوليشن استعمال نٿا ڪن، توھان سيٽ ڪري سگھو ٿا sysctl "user.max_user_namespaces" قدر 0: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/ sysctl.d/userns.conf

جو ذريعو: opennet.ru

تبصرو شامل ڪريو