#Browser V8 Heap #Sandbox #Escape
اخیرا روشی در کنفرانس OffensiveCon 2024 مطرح شده در خصوص دور زدن Sandbox مرورگر Chrome با موتور اجرایی V8.

این روش مطرح شده به این صورت است که مهاجم بواسطه یک آسیب پذیری Memory Corruption توان خواندن و نوشتن در منطقه حافظه Sandbox را پیدا میکند، لذا بواسطه تعریف چند HeapObj امکان دسترسی به Base Address ساختمان PTR Table شده و مقدار آدرس را با نوع محتوای عددی، دریافت میشود.

اما همانطور که میدانید Sandbox ها از Control Flow Integrity استفاده میکنند برای ترسیم پرش ها و اشاره های درون یک برنامه، محقق اینجا میکوشد تا بواسطه HeapObjها یک اشاره گر External را تعریف کرده تا از منطقه Trust حافظه خارج شده و اقدام به فراخوانی Gadget در بیرون حافظه کند.

که این موضوع موجب میشود محقق بتواند یک پردازش بیرون از Sandbox را ایجاد کرده و مکانیزم را دور بزند، این مسئله در پی باگی در نحوه پوشش Sandbox موتور اجرایی V8 رخ میدهد که External Object ها را Isolate نمیکند.

@Unk9vvN
#WASM #Browser #Exploitation
در کنفرانس BlackHat 2024 آمریکا، ارائه ای در خصوص کشف آسیب پذیری باینری از موتور پیاده سازی Web Assembly ارائه شد که روش شناسی های جدیدی رو در این حوزه مطرح میکند.

محققین اعلام میکنند در مرورگرهای مدرن امروزی مانند Chrome و Safari، استفاده از ساختار Web Assembly در زبان Javascript این امکان رو خواهد داد تا مهاجمین در زمان Build Proccess اقدام به ایجاد یک سردرگمی نوع داده بکنند که ظرفیت اسپری Shellcode مخرب را داده و موجب اجرای کد در حافظه مرورگر میشود.

بطور خلاصه ماجرا از این قرار است که جریان اجرا در WASM به 3 حالت کلی برمیگرده، اول Runtime Build دوم ByteCode Execution سوم External Interaction که در حالت Runtime Build دو آسیب پذیری باینری کشف شده تا کنون، از Bytecode Exec نیز دو آسیب پذیری سردرگمی نوع داده و خواندن و نوشتن بیرون از باند رخ داده است.

در اثر استفاده WASM از Wrapper JS برای تغییر Context مثلا یک تابع، ظرفیت ایجاد یک آسیب پذیری سردرگمی نوع داده بوجود خواهد آمد.

بقیه ماجرا در مقاله...

@Unk9vvN