Wasmtime හි විවේචනාත්මක අවදානම, WebAssembly යෙදුම් සඳහා ධාවන කාලය

Wasmtime 6.0.1, 5.0.1, සහ 4.0.1 නිවැරදි කිරීමේ යාවත්කාල කිරීම් අවදානම් (CVE-2023-26489) නිවැරදි කරයි, එය විවේචනාත්මක ලෙස ශ්‍රේණිගත කර ඇත. හුදකලා WebAssembly කේතය සඳහා අවසර දී ඇති සීමාවෙන් පිටත මතක ප්‍රදේශයකට දත්ත ලිවීම සංවිධානය කිරීමට අවදානම් ඉඩ සලසයි, එය ප්‍රහාරකයෙකුට හුදකලා WASI පරිසරයෙන් පිටත ඔවුන්ගේ කේතය ක්‍රියාත්මක කිරීම සංවිධානය කිරීමට භාවිතා කළ හැකිය.

Wasmtime යනු සාමාන්‍ය ස්වාධීන යෙදුම් ලෙස WASI (WebAssembly පද්ධති අතුරුමුහුණත) දිගු සමඟ WebAssembly යෙදුම් ධාවනය කිරීමේ ධාවන කාලයකි. මෙවලම් කට්ටලය රස්ට් වලින් ලියා ඇති අතර, දෘඪාංග ගෘහ නිර්මාණ ශිල්පයෙන් ස්වාධීන වන අතරමැදි නිරූපණයක් x86_64 ගෘහ නිර්මාණ ශිල්පය සඳහා ක්‍රියාත්මක කළ හැකි යන්ත්‍ර කේතයක් බවට පරිවර්තනය කරන Cranelift කේත උත්පාදක යන්ත්‍රයේ රේඛීය මතක ආමන්ත්‍රණ රීති නිර්වචනයේ තාර්කික දෝෂයක් හේතුවෙන් අවදානමට ලක් වේ.

විශේෂයෙන්ම, WebAssembly හි අවසර ලත් 35-bit ලිපින වෙනුවට WebAssembly යෙදුම් සඳහා 33-bit ඵලදායී ලිපින ගණනය කරන ලදී, එමඟින් කියවීමට සහ ලිවීමට මෙහෙයුම් සඳහා ඉඩ දී ඇති අතථ්‍ය මතකයේ සීමාව 34 GB දක්වා මාරු කරන ලද අතර, sandbox පරිසර සැකසුම් 6 GB සඳහා ආරක්ෂාව සපයයි. මූලික ලිපිනයෙන්. එහි ප්‍රතිඵලයක් ලෙස, WebAssembly යෙදුම් වලින් කියවීමට සහ ලිවීමට මූලික ලිපිනයේ සිට 6 සිට 34 GB දක්වා වූ අතථ්‍ය මතක පරාසය ලබා ගත හැකි විය. මෙම මතකයට වෙනත් WebAssembly පරිසරයන් හෝ WebAssembly ධාවන කාල සංරචක සත්කාරකත්වය දැක්විය හැක.

Wasmtime අනුවාදය යාවත්කාලීන කිරීමට නොහැකි නම්, "Config::static_memory_maximum_size(0)" විකල්පය සඳහන් කරමින් ඕනෑම රේඛීය මතක ප්‍රවේශයක් මත අනිවාර්ය වෙනම සීමාවන් පරීක්ෂා කිරීම සක්‍රීය කිරීම දෝෂය අවහිර කිරීමට ප්‍රතිකර්ම ලෙස සඳහන් වේ (ප්‍රතිඵලය සැලකිය යුතු කාර්ය සාධනය පිරිහීමකි). තවත් විකල්පයක් නම් ගැටළුකාරී අතථ්‍ය මතක පරාසයක (විශාල මුදලක් වෙන් කර ගැනීමට මඟ පාදයි) ආරක්‍ෂක පිටු සංඛ්‍යාව වැඩි කිරීමට "Config::static_memory_guard_size(1 <36)" සැකසීම භාවිතා කිරීමයි (Guard Page, ප්‍රවේශ වූ විට ව්‍යතිරේකයක් දමනු ලැබේ). අතථ්‍ය මතකය සහ සමගාමී WebAssembly යෙදුම් ගණන සීමා කිරීම).

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න