Wasmtime ۾ نازڪ ڪمزور، WebAssembly ايپليڪيشنن لاءِ رن ٽائم

Wasmtime 6.0.1, 5.0.1, and 4.0.1 corrective updates fix the vulnerability (CVE-2023-26489)، جنهن کي درجه بندي ڪيو ويو آهي نازڪ. نقصانڪار ڊيٽا لکڻ کي منظم ڪرڻ جي اجازت ڏئي ٿو ميموري واري علائقي کان ٻاهر جي حدن کان ٻاهر الڳ ٿيل WebAssembly ڪوڊ لاءِ اجازت ڏني وئي، جيڪو ممڪن طور تي استعمال ڪري سگهي ٿو حملي ڪندڙ پنهنجي ڪوڊ جي عمل کي منظم ڪرڻ لاءِ الڳ ٿيل WASI ماحول کان ٻاهر.

Wasmtime WASI (WebAssembly سسٽم انٽرفيس) ايڪسٽينشن سان گڏ WebAssembly ايپليڪيشنن کي هلائڻ لاءِ هڪ رن ٽائم آهي جيئن عام اسٽينڊل ايپليڪيشنون. ٽول ڪٽ زنگ ۾ لکيل آهي، ۽ نقصان هڪ منطقي غلطي جي ڪري پيدا ٿئي ٿو لينر ميموري ايڊريسنگ قاعدن جي تعريف ۾ ڪرين لفٽ ڪوڊ جنريٽر ۾، جيڪو هڪ وچولي نمائندگي کي ترجمو ڪري ٿو هارڊويئر آرڪيٽيڪچرز کان آزاد x86_64 آرڪيٽيڪچر لاءِ ايگزيڪيوٽو مشين ڪوڊ ۾.

خاص طور تي، WebAssembly ۾ اجازت ڏنل 35-bit پتي جي بدران WebAssembly ايپليڪيشنن لاءِ 33-bit موثر ايڊريس ڳڻيا ويا، جن ورچوئل ميموري جي حد کي 34 GB تائين پڙهڻ ۽ لکڻ جي عملن جي اجازت ڏني، جڏهن ته سينڊ باڪس ماحوليات سيٽنگون 6 GB لاءِ تحفظ فراهم ڪن ٿيون. بنيادي پتي کان. نتيجي طور، ورچوئل ميموري جو رينج 6 کان 34 GB تائين بنيادي پتي کان WebAssembly ايپليڪيشنن مان پڙهڻ ۽ لکڻ لاءِ موجود هو. هي ياداشت ٻين WebAssembly ماحول يا WebAssembly رن ٽائم اجزاء کي ميزباني ڪري سگهي ٿي.

جيڪڏهن Wasmtime ورزن کي اپڊيٽ ڪرڻ ممڪن نه آهي، وضاحت ڪندي "Config::static_memory_maximum_size(0)" اختيار کي چالو ڪرڻ لاءِ لازمي الڳ حدون چيڪ ڪرڻ لاءِ ڪنهن به لڪير ميموري رسائي تي چيڪنگ جو ذڪر ڪيو ويو آهي ڪم ڪار جي طور تي غلطي کي بلاڪ ڪرڻ لاءِ (نتيجو اهم ڪارڪردگي جي خرابي ۾). هڪ ٻيو اختيار آهي سيٽنگ کي استعمال ڪرڻ لاءِ "Config::static_memory_guard_size(1 <36)" گارڊ پيج جو تعداد وڌائڻ لاءِ (گارڊ پيج، هڪ استثنا اڇلايو ويندو آهي جڏهن رسائي هجي) مسئلو ورچوئل ميموري رينج ۾ واقع آهي (وڏي رقم محفوظ ڪرڻ جي ڪري ورچوئل ميموري جي تعداد کي محدود ڪرڻ ۽ سمورو WebAssembly ايپليڪيشنون).

جو ذريعو: opennet.ru

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