XFS ۾ ڪمزوري جيڪا خام بلاڪ ڊوائيس ڊيٽا کي پڙهڻ جي اجازت ڏئي ٿي

XFS فائل سسٽم ڪوڊ ۾ هڪ خطري (CVE-2021-4155) جي نشاندهي ڪئي وئي آهي جيڪا مقامي غير استحقاق رکندڙ صارف کي اڻ استعمال ٿيل بلاڪ ڊيٽا کي سڌو سنئون بلاڪ ڊيوائس مان پڙهڻ جي اجازت ڏئي ٿي. 5.16 کان پراڻا لينڪس ڪنيل جا سڀ وڏا نسخا جيڪي XFS ڊرائيور تي مشتمل آهن هن مسئلي کان متاثر ٿيا آهن. فيڪس ورزن 5.16 ۾ شامل ڪيو ويو، انهي سان گڏ ڪنييل اپڊيٽ ۾ 5.15.14، 5.10.91، 5.4.171، 4.19.225، وغيره. ورهائڻ ۾ مسئلو حل ڪرڻ لاءِ تازه ڪاري جي صورتحال پيدا ٿي سگهي ٿي انهن صفحن تي ٽريڪ ڪري سگهجي ٿو: Debian، RHEL، SUSE، Fedora، Ubuntu، Arch.

ڪمزوري ٻن XFS-مخصوص ioctl(XFS_IOC_ALLOCSP) ۽ ioctl(XFS_IOC_FREESP) جي غلط رويي جي ڪري پيدا ٿئي ٿي، جيڪي ڪنيل-وائڊ فيلوڪيٽ() سسٽم ڪال جو هڪ فنڪشنل اينالاگ آهن. جڏهن هڪ فائل جي سائيز کي وڌايو جيڪو بلاڪ سان ترتيب نه ڏنو ويو آهي، ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP ايندڙ بلاڪ جي حد تائين tail bytes کي صفر تي ري سيٽ نه ڪريو. اهڙيء طرح، XFS تي 4096 بائيٽ جي معياري بلاڪ سائيز سان، هڪ حملو ڪندڙ هر بلاڪ کان اڳئين لکيل ڊيٽا جي 4095 بائيٽ تائين پڙهي سگهي ٿو. انهن علائقن ۾ ڊيٽا شامل ٿي سگھي ٿي ختم ٿيل فائلن، خراب ٿيل فائلن، ۽ فائلون ڊبل ٿيل بلاڪ سان.

توهان هڪ سادي استحصال پروٽوٽائپ استعمال ڪندي مسئلو لاء توهان جي سسٽم کي جانچ ڪري سگهو ٿا. جيڪڏهن، حڪمن جي تجويز ڪيل ترتيب تي عمل ڪرڻ کان پوء، شيڪسپيئر جي متن کي پڙهڻ ممڪن آهي، پوء ايف ايس ڊرائيور خطرناڪ آهي. شروعاتي طور تي هڪ XFS ورهاڱي جي نمائش لاء روٽ استحقاق جي ضرورت آهي.

جيئن ته ioctl(XFS_IOC_ALLOCSP) ۽ ioctl(XFS_IOC_FREESP) عملي طور ڪارڪردگيءَ ۾ ساڳيا آھن جيئن معياري fallocate()، ۽ انھن جو فرق صرف ڊيٽا جي لڪيج آھي، انھن جي موجودگي ھڪڙي پٺتي پيل دروازي وانگر آھي. ڪرنل ۾ موجود انٽرفيس کي تبديل نه ڪرڻ جي عام پاليسي جي باوجود، لينس جي تجويز تي، اهو فيصلو ڪيو ويو ته ايندڙ ورزن ۾ انهن ioctls کي مڪمل طور تي ختم ڪيو وڃي.

جو ذريعو: opennet.ru

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