گندي فريگ ڪمزوريون جيڪي سڀني لينڪس ڊسٽريبيوشن ۾ روٽ رسائي حاصل ڪرڻ لاءِ صفحي جي ڪيش کي تبديل ڪن ٿيون.

لينڪس ڪرنل ۾ ٻہ ڪمزوريون دريافت ڪيون ويون آهن. اهي ڪمزوريون ڪجهه ڏينهن اڳ ظاهر ڪيل ڪاپي فيل ڪمزورين سان ملندڙ جلندڙ آهن، پر اهي مختلف سب سسٽم کي متاثر ڪن ٿيون - xfrm-ESP ۽ RxRPC. ڪمزورين جي هن سلسلي کي ڊرٽي فريگ (جنهن کي ڪاپي فيل 2 پڻ چيو ويندو آهي) جو ڪوڊ نالو ڏنو ويو آهي. اهي ڪمزوريون هڪ غير مراعات يافته صارف کي صفحي جي ڪيش ۾ پروسيس ڊيٽا کي اوور رائٽ ڪندي روٽ مراعات حاصل ڪرڻ جي اجازت ڏين ٿيون. هڪ استحصال موجود آهي جيڪو سڀني موجوده لينڪس ڊسٽريبيوشن تي ڪم ڪري ٿو. پيچ شايع ٿيڻ کان اڳ ڪمزورين کي ظاهر ڪيو ويو هو، پر هڪ حل موجود آهي.

ڊرٽي فريگ ٻن مختلف ڪمزورين کي ڍڪي ٿو: پهرين xfrm-ESP ماڊيول ۾، جيڪا ESP (Encapsulating Security Payload) پروٽوڪول استعمال ڪندي IPsec انڪرپشن آپريشن کي تيز ڪرڻ لاءِ استعمال ٿيندي آهي، ۽ ٻي RxRPC ڊرائيور ۾، جيڪا AF_RXRPC ساکٽ فيملي ۽ ساڳئي نالي جي RPC پروٽوڪول کي لاڳو ڪري ٿي، جيڪا UDP تي هلندي آهي. هر ڪمزوري، الڳ الڳ ورتي وئي، روٽ پرائيويٽس جي اجازت ڏئي ٿي. xfrm-ESP ڪمزوري جنوري 2017 کان لينڪس ڪرنل ۾ موجود آهي، ۽ RxRPC ڪمزوري جون 2023 کان موجود آهي. ٻئي مسئلا اصلاحن جي ڪري آهن جيڪي صفحي جي ڪيش ۾ سڌو لکڻ جي اجازت ڏين ٿا.

xfrm-ESP ڪمزوري کي استعمال ڪرڻ لاءِ، استعمال ڪندڙ کي نيم اسپيس ٺاهڻ جي اجازت هجڻ گهرجي، ۽ RxRPC ڪمزوري کي استعمال ڪرڻ لاءِ، rxrpc.ko ڪرنل ماڊيول لوڊ ڪرڻ گهرجي. مثال طور، Ubuntu ۾، AppArmor ضابطا غير مراعات يافته استعمال ڪندڙن کي نيم اسپيس ٺاهڻ کان روڪين ٿا، پر rxrpc.ko ماڊيول ڊفالٽ طور لوڊ ڪيو ويندو آهي. ڪجهه تقسيم ۾ rxrpc.ko ماڊل جي کوٽ آهي پر نيم اسپيس ٺاهڻ کي بلاڪ نه ڪندا آهن. محقق جنهن مسئلي کي دريافت ڪيو، هڪ گڏيل استحصال تيار ڪيو جيڪو ٻنهي ڪمزورين ذريعي سسٽم تي حملو ڪرڻ جي قابل آهي، جنهن جي ڪري سڀني وڏين تقسيم تي مسئلي جو استحصال ڪرڻ ممڪن ٿيو. اهو استحصال Ubuntu 24.04.4 تي ڪرنل 6.17.0-23 سان، RHEL 10.1 ڪرنل 6.12.0-124.49.1 سان، OpenSUSE Tumbleweed ڪرنل 7.0.2-1 سان، CentOS Stream 10 ڪرنل 6.12.0-224 سان، AlmaLinux 10 ڪرنل 6.12.0-124.52.3 سان، ۽ Fedora 44 ڪرنل 6.19.14-300 سان ڪم ڪرڻ جي تصديق ڪئي وئي آهي.

جيئن ڪاپي فيل جي ڪمزوري سان، xfrm-ESP ۽ RxRPC ۾ مسئلا splice() فنڪشن استعمال ڪندي ان-جڳهه ڊيٽا ڊيڪرپشن جي ڪري ٿين ٿا، جيڪو فائل ڊسڪريپٽر ۽ پائپ جي وچ ۾ ڊيٽا کي ڪاپي ڪرڻ کان سواءِ منتقل ڪري ٿو، پيج ڪيش ۾ عنصرن ڏانهن حوالا پاس ڪندي. پيج ڪيش ۾ عنصرن جي سڌي حوالن جي استعمال جي حساب سان لکڻ جي آفسيٽ کي مناسب چيڪن کان سواءِ ڳڻيو ويو، خاص طور تي تيار ڪيل درخواستن کي ڏنل آفسيٽ تي 4 بائيٽ اوور رائٽ ڪرڻ ۽ پيج ڪيش ۾ ڪنهن به فائل جي مواد کي تبديل ڪرڻ جي اجازت ڏني وئي.

سڀ فائل پڙهڻ جا عمل پهرين صفحي جي ڪيش مان مواد حاصل ڪندا آهن. جيڪڏهن صفحي جي ڪيش ۾ ڊيٽا تبديل ڪئي وئي آهي، ته فائل پڙهڻ جا عمل متبادل ڊيٽا واپس ڪندا، ڊرائيو تي محفوظ ڪيل اصل معلومات نه. ڪمزوري جو استحصال suid روٽ پرچم سان هڪ ايگزيڪيوٽو فائل لاءِ پيج ڪيش کي تبديل ڪرڻ تائين اچي ٿو. مثال طور، روٽ مراعات حاصل ڪرڻ لاءِ، ڪو به ايگزيڪيوٽو فائل /usr/bin/su کي پڙهي سگهي ٿو ته جيئن ان کي پيج ڪيش ۾ رکي سگهجي، ۽ پوءِ پيج ڪيش ۾ لوڊ ٿيل هن فائل جي مواد ۾ پنهنجو ڪوڊ تبديل ڪري سگهي ٿو. "su" يوٽيلٽي جي بعد ۾ عملدرآمد جي نتيجي ۾ پيج ڪيش مان تبديل ٿيل ڪاپي ميموري ۾ لوڊ ٿيندي، ڊرائيو مان اصل ايگزيڪيوٽو فائل نه.

ڪمزوري ظاهر ڪرڻ ۽ پيچز جي هم آهنگي سان جاري ڪرڻ 12 مئي لاءِ شيڊول ڪيو ويو هو، پر هڪ ليڪ جي ڪري، پيچز جاري ٿيڻ کان اڳ ڪمزوري جي معلومات شايع ڪرڻي پئي. اپريل جي آخر ۾، rxrpc، ipsec، ۽ xfrm لاءِ پيچ نيٽ ڊيو پبلڪ ميلنگ لسٽ تي پوسٽ ڪيا ويا بغير اهو ذڪر ڪرڻ جي ته اهي ڪمزوري سان لاڳاپيل هئا. 5 مئي تي، IPsec سب سسٽم مينٽينر نيٽ ڊيو گٽ ريپوزٽري ۾ هڪ تبديلي قبول ڪئي جنهن ۾ xfrm-esp ماڊيول ۾ تجويز ڪيل حل شامل هو. تبديلي جي وضاحت وڏي حد تائين ان مسئلي جي وضاحت سان ملندڙ جلندڙ هئي جنهن algif_aead ماڊيول ۾ ڪاپي فيل ڪمزوري جو سبب بڻي. هڪ سيڪيورٽي محقق هن حل ۾ دلچسپي ورتي، هڪ ڪم ڪندڙ استحصال ٺاهڻ ۾ ڪامياب ٿي ويو، ۽ ان کي شايع ڪيو، بي خبر ته 12 مئي تائين مسئلي بابت معلومات ظاهر ڪرڻ تي پابندي لاڳو ڪئي وئي هئي.

لينڪس ڪرنل ۽ ڊسٽريبيوشن ۾ ڪرنل پيڪيجز لاءِ اصلاحن سان تازه ڪاريون اڃا تائين شايع نه ٿيون آهن، پر مسئلن کي حل ڪرڻ وارا پيچ موجود آهن - xfrm-esp ۽ rxrpc. CVE سڃاڻپ ڪندڙ مقرر نه ڪيا ويا آهن، جيڪو ڊسٽريبيوشن ۾ پيڪيج اپڊيٽ کي ٽريڪ ڪرڻ کي پيچيده بڻائي ٿو. هڪ حل جي طور تي، توهان esp4، esp6، ۽ rxrpc ڪرنل ماڊلز جي لوڊ ٿيڻ کي بلاڪ ڪري سگهو ٿا: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"

جو ذريعو: opennet.ru