سسٽم ڊي سسٽم مينيجر ۾
نقصان اڳ ۾ ئي آزاد ٿيل ميموري ايريا تائين پهچ جي سبب آهي (استعمال کان پوءِ-آزاد)، جيڪو تڏهن ٿئي ٿو جڏهن غير هم وقتي طور تي ڊي بيس پيغامن جي پروسيسنگ دوران پولڪيٽ ڏانهن درخواستن تي عمل ڪيو وڃي. ڪجهه DBus انٽرفيس ٿوري وقت لاءِ شيون ذخيرو ڪرڻ لاءِ ڪيش استعمال ڪندا آهن ۽ ڪيش جي داخلائن کي فلش ڪندا آهن جيئن ئي DBus بس ٻين درخواستن تي عمل ڪرڻ لاءِ آزاد آهي. جيڪڏهن هڪ DBus طريقو هينڊلر استعمال ڪري ٿو bus_verify_polkit_async()، ان کي پولڪيٽ عمل مڪمل ٿيڻ جو انتظار ڪرڻو پوندو. پولڪيٽ تيار ٿيڻ کان پوء، هينڊلر کي ٻيهر سڏيو ويندو آهي ۽ اڳ ۾ ئي ميموري ۾ ورهايل ڊيٽا تائين رسائي حاصل ڪندو آهي. جيڪڏهن پولڪيٽ جي درخواست تمام گهڻي وقت وٺي ٿي، ڪيش ۾ شيون صاف ٿي وينديون ڊي بيس ميٿڊ هينڊلر کي ٻيو ڀيرو سڏيو وڃي ٿو.
انهن خدمتن ۾ جيڪي خطرن جي استحصال جي اجازت ڏين ٿيون، systemd-machined نوٽ ڪيل آهي، جيڪا DBus API org.freedesktop.machine1.Image.Clone مهيا ڪري ٿي، جيڪا ڪيش ۾ ڊيٽا جي عارضي اسٽوريج ۽ Polkit تائين غير مطابقت واري رسائي جي ڪري ٿي. انٽرفيس
org.freedesktop.machine1.Image.Clone سسٽم جي سڀني غير مراعات يافته استعمال ڪندڙن لاءِ دستياب آهي، جيڪي سسٽم ڊي سروسز کي تباهه ڪري سگھن ٿا يا ممڪن طور تي ڪوڊ کي روٽ طور تي عمل ڪرڻ جو سبب بڻائين (استحصال پروٽوٽائپ اڃا تائين ظاهر نه ڪيو ويو آهي). اهو ڪوڊ جنهن کي ڪمزورين جي استحصال جي اجازت ڏني وئي هئي
جو ذريعو: opennet.ru