این آسیبپذیری که به تازگی توسط یکی از توسعهدهندگان شرکت گوگل در مرورگرهای مدرن کشف شده، میتواند به وبسایت مخربی که کاربران بازدید میکنند این اجازه را بدهد تا به محتوای حساس حسابهای آنلاین کاربران که قبلا در همان مرورگر لاگین کرده بودند، دسترسی پیدا کند.
زمانی که درخواستی از طریق مرورگر ایجاد میشود در سرایند (Header) پاسخ HTTP دو مقدار Range و Partial Content مقداردهی میشود.
مثلا مرورگر درخواستی ارسال کرده به این شکل: range: bytes=50-100 و در نهایت پاسخ به این درخواست به این صورت خواهد بود:
content-range : bytes= 50 -100/5000
مرورگرها از موارد گفته شده جهت Resuming دانلودها یا پخش ویدیو از همان نقطهی درخواستی کاربر استفاده می کنند. اما به طور مثال اگر یک سرویس ورکر داشته باشیم مقدار Range ای که گفته شد در سرایند از دست خواهد رفت آن هم به این خاطر که یک درخواست No-CORS ایجاد شده.
درواقع زمانی که شما دارید یک المان را از یک ریشه (Origin) دیگر Fetch میکنید آن ریشه اجازهی لازم را صادر کرده اما به صورت پیش فرض، درخواست ارسالی بدون کوکی میباشد. اگر قرار باشد که کوکی هم شامل آن بشود به دسترسیهای بیشتری لازم است. حالا اگر شما هدرهای بیمعنی ارسال کنید مرورگر در وهله اول ریشه را بررسی میکند اما بعضی از این API ها بصورت کلی نادیده گرفته خواهند شد و درخواست No-CORS تولید میکنند.
حالا محققین میدیایی تولید کردند که اطلاعات حساس کاربران در آن نشت میشود که جزئیات آن را میتوانید در این لینک مشاهده کنید:
https://jakearchibald.com/2018/i-discovered-a-browser-bug