- شناسه CVE-2026-10702 :CVE
- CWE-843, CWE-733 :CWE
- yes :Advisory
- منتشر شده: ژوئن 2, 2026
- به روز شده: ژوئن 2, 2026
- امتیاز: 7.5
- نوع حمله: Type Confusion
- اثر گذاری: Remote code execution(RCE)
- حوزه: مرورگرها
- برند: Mozilla
- محصول: Firefox
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری CVE-2026-10702 ناشی از خطای کامپایل در کامپوننت JIT موتور جاوااسکریپت مرورگر موزیلا فایرفاکس (Mozilla Firefox) است. این ضعف امنیتی در شرایط خاص میتواند باعث اختلال در پردازش کدهای جاوااسکریپت شده و مرورگر را با کرش یا ناپایداری مواجه کند.
توضیحات
آسیبپذیری CVE-2026-10702 ناشی از خطای کامپایل در کامپوننت کامپایل بلادرنگ (Just-In-Time Compiler – JIT) موتور جاوااسکریپت (JavaScript Engine) مرورگر موزیلا فایرفاکس است. این ضعف در فرآیند کامپایل و بهینهسازی کدهای جاوااسکریپت رخ میدهد و در برخی شرایط، پردازش صحیح این کدها را مختل میکند. در نتیجه، مرورگر ممکن است هنگام اجرای محتوای جاوااسکریپت دچار کرش یا ناپایداری شود.
کامپوننت JIT یکی از بخشهای اصلی موتور جاوااسکریپت است که وظیفه دارد کدهای جاوااسکریپت را در زمان اجرا کامپایل و بهینهسازی کند تا سرعت اجرای برنامههای تحت وب افزایش یابد. بروز خطا در این فرآیند ممکن است موجب شود کدها برخلاف منطق مورد انتظار برنامه پردازش شوند و در نتیجه، مرورگر با عملکردهای غیرمنتظره مواجه گردد.
از منظر طبقهبندی ضعفهای نرمافزاری، این آسیبپذیری تحت CWE-843 با عنوان «دسترسی به منبع با استفاده از نوع داده ناسازگار» (Access of Resource Using Incompatible Type) ثبت شده است. این ضعف زمانی رخ میدهد که نرمافزار یک منبع یا داده را با نوعی متفاوت از نوع واقعی آن پردازش کند. در چنین شرایطی، دادهها بهاشتباه تفسیر شده و منطق برنامه بر مبنای نوع داده نادرستی اجرا میشود؛ وضعیتی که با عنوان سردرگمی نوع (Type Confusion) شناخته میشود.
از سوی دیگر، Red Hat نیز این آسیبپذیری را در پایگاه داده امنیتی خود ثبت کرده، اما اعلام کرده است که نسخههای Red Hat Enterprise Linux 6، 7، 8، 9 و 10 تحت تأثیر آن قرار ندارند. بررسیهای این شرکت نشان میدهد کد آسیبپذیر در بستههای فایرفاکس ارائهشده برای این محصولات وجود ندارد. با این حال، Red Hat این ضعف را بر اساس طبقهبندی دیگری نیز ارزیابی کرده و آن را با CWE-733 و عنوان «حذف یا تغییر کدهای حیاتی امنیتی در اثر بهینهسازی کامپایلر» (Compiler Optimization Removal or Modification of Security-critical Code) مرتبط دانسته است. این CWE به شرایطی اشاره دارد که در آن فرآیند بهینهسازی کامپایلر، بخشهایی از کدهای دارای اهمیت امنیتی را حذف یا تغییر میدهد و در نتیجه، عملکرد امنیتی مورد انتظار نرمافزار دستخوش تغییر میشود.
بر اساس بردار CVSS منتشرشده توسط موزیلا، امکان سوءاستفاده از این آسیبپذیری از طریق شبکه وجود دارد و مهاجم برای اجرای حمله به احراز هویت یا سطح دسترسی قبلی نیازی ندارد. با این حال، موفقیت حمله به تعامل کاربر (User Interaction) وابسته است؛ به این معنا که کاربر باید یک صفحه وب یا محتوای حاوی کد جاوااسکریپت را در مرورگر خود باز کند. همچنین، بر اساس ارزیابی رسمی موزیلا، این آسیبپذیری هیچ تأثیری بر محرمانگی (Confidentiality) و یکپارچگی (Integrity) اطلاعات ندارد و تنها دسترسپذیری (Availability) را در سطح پایین تحت تأثیر قرار میدهد؛ موضوعی که میتواند منجر به کرش یا ناپایداری مرورگر شود.
موزیلا این آسیبپذیری را در نسخه Firefox 151.0.3 پچ کرده است. این بهروزرسانی، خطای موجود در کامپوننت JIT را برطرف کرده و از بروز اختلال در فرآیند کامپایل و اجرای کدهای جاوااسکریپت جلوگیری میکند.
CVSS
| Score | Severity | Version | Vector String |
| 7.5 | HIGH | 3.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |

شکل 1: تفسیر جدول CVSS
لیست محصولات آسیب پذیر
| Versions | Product |
| Before 151.0.3 | Firefox |
لیست محصولات بروز شده
| Version / Status | Product |
| Fixed in 151.0.3 | Firefox |
| All versions are unaffected | Red Hat Enterprise Linux 10 |
| All versions are unaffected | Red Hat Enterprise Linux 6 |
| All versions are unaffected | Red Hat Enterprise Linux 7 |
| All versions are unaffected | Red Hat Enterprise Linux 8 |
| All versions are unaffected | Red Hat Enterprise Linux 9 |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که Mozilla Firefox را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
| Approx. Usage in .ir Domain via Google (Total Pages) | Search Query (Dork) | Product |
| 330,000 | site:.ir “Mozilla Firefox” | Mozilla |
| 488,000 | site:.ir “Firefox” | Firefox |
نتیجه گیری
این آسیبپذیری در کامپوننت JIT موتور جاوااسکریپت فایرفاکس شناسایی شده است و نشان میدهد که بروز خطا در فرآیند کامپایل و بهینهسازی کدهای جاوااسکریپت میتواند پایداری و امنیت مرورگر را تحت تأثیر قرار دهد. برای کاهش ریسک سوءاستفاده، اقدامات زیر توصیه میشود:
- بهروزرسانی فوری مرورگر: تمامی کاربران باید فایرفاکس را به نسخه 0.3 یا نسخههای جدیدتر بهروزرسانی کنند. این اقدام تنها راهکار قطعی رفع آسیبپذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را داشته و به کاهش ریسک این آسیبپذیری و موارد مشابه کمک میکنند.
- مدیریت متمرکز بهروزرسانیها: در محیطهای سازمانی، بهروزرسانی مرورگر باید از طریق سیاست گروهی (Group Policy) یا سامانههای مدیریت دستگاه (MDM) انجام شود تا هیچ سامانهای بدون پچ امنیتی باقی نماند.
- محدودسازی دسترسی به وبسایتهای ناشناس: استفاده از قابلیت جستوجوی ایمن (Safe Browsing) و اعمال سیاستهای فیلترینگ وب احتمال اجرای کدهای جاوااسکریپت مخرب را کاهش میدهد.
- استفاده از سامانه EDR: استفاده از سامانه EDR و مانیتورینگ کرشهای غیرعادی مرورگر، ناپایداری موتور جاوااسکریپت و سایر عملکردهای غیرمنتظره میتواند به شناسایی تلاشهای احتمالی برای سوءاستفاده کمک کند.
- اجرای اصل حداقل دسترسی (Least Privilege): انجام فعالیتهای روزمره با حسابهای با دسترسی پایین باعث میشود در صورت وقوع حمله، دامنه خسارت محدودتر باشد.
- حذف یا محدودسازی افزونههای غیرضروری: افزونههای ناشناس میتوانند سطح حمله مرورگر را افزایش دهند؛ بنابراین استفاده از افزونههای مورد اعتماد و ضروری توصیه میشود.
در مجموع، اگرچه تاکنون گزارشی مبنی بر سوءاستفاده فعال از این آسیبپذیری منتشر نشده است، اما با توجه به حساسیت موتور جاوااسکریپت و نقش آن در پردازش محتوای وب، نصب سریع پچ امنیتی و رعایت اصول امنیت مرورگر بهترین راهکار برای کاهش ریسک خواهد بود.
امکان استفاده در تاکتیکهای Mitre Attack (در زمان اجرای حمله)
Reconnaissance (TA0043)
مهاجم معمولاً از پیش آسیبپذیری را شناسایی کرده و سایت وب یا صفحاتی که توسط قربانی بازدید احتمالی بیشتری دارند را شناسایی میکند. در این مرحله این اطلاعات میتواند از طریق کمپینهای فیشینگ یا وبسایتهای آلوده انجام شود.
Initial Access (TA0001)
دسترسی اولیه زمانی حاصل میشود که قربانی صفحه HTML یا وبسایت مخرب را با نسخه آسیبپذیر Firefox باز کند. بهرهبرداری تنها به تعامل کاربر (بازدید از صفحه) نیاز دارد و مهاجم احتیاجی به احراز هویت یا دسترسی قبلی به سیستم ندارد.
Execution (TA0002)
جاوااسکریپت موجود در صفحه مخرب JIT Miscompilation را در موتور SpiderMonkey فعال کرده و موجب Type Confusion میشود. در صورت موفقیت، مهاجم میتواند کد دلخواه را در پردازه مرورگر اجرا کند.
Defense Evasion (TA0005)
اجرای کد در محیط Sandbox مرورگر و استفاده از پردازههای قانونی Firefox میتواند شناسایی فعالیت مخرب را برای برخی ابزارهای امنیتی دشوارتر کند. در حملات پیشرفته، این آسیبپذیری معمولاً به عنوان بخشی از زنجیره بهرهبرداری همراه با آسیبپذیری Sandbox Escape مورد استفاده قرار میگیرد.
Impact (TA0040)
در صورت موفقیت حمله، مهاجم قادر خواهد بود اطلاعات حساس کاربر مانند کوکیها، نشستهای احراز هویت، دادههای موجود در حافظه مرورگر یا سایر اطلاعات پردازششده توسط Renderer را در معرض خطر قرار دهد. همچنین خرابی حافظه میتواند موجب Crash مرورگر یا اختلال در عملکرد آن شود و در سناریوهای زنجیرهای، زمینه اجرای کد خارج از Sandbox را نیز فراهم کند.
منابع
- https://www.cve.org/CVERecord?id=CVE-2026-10702
- https://www.cvedetails.com/cve/CVE-2026-10702/
- https://www.mozilla.org/security/advisories/mfsa2026-54/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2026-10702
- https://vuldb.com/vuln/368076
- https://access.redhat.com/security/cve/CVE-2026-10702
- https://bugzilla.redhat.com/show_bug.cgi?id=2484118
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-10702.json
- https://nvd.nist.gov/vuln/detail/CVE-2026-10702
- https://cwe.mitre.org/data/definitions/843.html
- https://cwe.mitre.org/data/definitions/733.html
گزارش اثبات آسیبپذیری CVE-2026-10702
اطلاعات آسیبپذیری
عنوان: اجرای کد از راه دور از طریق JIT Miscompilation در موتور جاوااسکریپت SpiderMonkey مرورگر Firefox
شناسه: CVE-2026-10702
وضعیت مشاوره: Zero-Day / Patch Available / In-the-Wild Exploitation
امتیاز: CVSS: 7.5 (High – Red Hat)
محصول: Mozilla Firefox
محصول / نسخههای آسیبپذیر
در نسخههای زیر:
- Mozilla Firefox برای تمامی پلتفرم ها (Windows، macOS، Linux، Android)، نسخه های قبل از 151.0.3
- Firefox Fenix برای اندروید، نسخه 151.0 و پایین تر
- تمامی مرورگرهای مبتنی بر Gecko که از موتور SpiderMonkey استفاده میکنند
محیطهای درگیر
- کلیه سازمان هایی که از مرورگر Firefox در محیط های کاری استفاده میکنند
- کاربران خانگی و سازمانی که از Firefox استفاده میکنند
- دستگاه های اندرویدی که Firefox 151 را اجرا میکنند
- کاربرانی که به وب سایت های ناشناس یا لینک های مشکوک مراجعه می کنند
کامپوننتهای آسیبپذیر
- موتور جاوااسکریپت SpiderMonkey (به طور خاص کامپایلر IonMonkey)
- فرآیند Type Inference در کامپایلر JIT که مسئول استنتاج نوع داده ها در حین اجراست
- مکانیزم Type Guard که از نوع داده ها محافظت میکند
- مکانیزم Bounds Check که بررسی دسترسی به حافظه در محدوده مجاز را انجام میدهد
- فرآیند بهینه سازی MIR شامل GVN (Global Value Numbering) و BCE (Bounds-Check Elimination)
- سیستم GC (Garbage Collector) که مدیریت حافظه و چرخه عمر اشیاء را بر عهده دارد
- ماژول های WebAssembly که در فرآیند بهره برداری برای فراخوانی توابع سیستمی استفاده میشوند
ریشه مشکل (Root Cause Analysis)
ریشه این آسیب پذیری یک JIT Miscompilation در موتور جاوااسکریپت SpiderMonkey مرورگر Firefox است. این مشکل مطابق با CWE-843 (Type Confusion) و CWE-733 (Compiler Optimization Removal or Modification of Security-critical Code) طبقه بندی میشود.
در فرآیند کامپایل اجرایی (JIT)، کامپایلر IonMonkey برای بهبود عملکرد، از مکانیزم Type Inference استفاده میکند. این مکانیزم در حین اجرای کد، فرضیاتی در مورد نوع داده ها ایجاد میکند و بر اساس این فرضیات، کد بهینه شده تولید میکند. برای مثال، اگر متغیری در چندین نوبت عدد صحیح باشد، کامپایلر فرض میکند این متغیر همیشه عدد صحیح است و کدی تولید میکند که بدون بررسی نوع اضافی اجرا شود. در برخی مسیرهای اجرایی، نوع واقعی داده با فرض کامپایلر متفاوت است. مثلاً متغیری که فرض شده عدد است، در واقع یک اشارهگر باشد. این عدم سازگاری منجر به تولید کد بهینه شدهای میشود که با نوع واقعی دادهها سازگار نیست.
علاوه بر Type Confusion، در فرآیند بهینه سازی MIR، کامپایلر ممکن است برخی از بررسی های امنیتی مانند Bounds Check و Type Guard را حذف کند. اگر این بهینه سازیها بر اساس فرضیات نادرست انجام شوند، میتوانند کدهای امنیتی حیاتی را حذف کنند و آسیب پذیری ایجاد شود.
در نتیجه، پس از تخصیص مجدد همان ناحیه حافظه، کد همچنان به اشارهگر قدیمی دسترسی پیدا میکند و عملیات خواندن یا نوشتن روی حافظهای انجام میدهد که دیگر متعلق به شیء اولیه نیست. این وضعیت موجب Heap Corruption شده و مهاجم میتواند با طراحی یک صفحه HTML حاوی JavaScript ویژه، وضعیت حافظه را کنترل کرده و در نهایت کد دلخواه را در پردازه renderer مرورگر اجرا کند.
بر اساس کد PoC منتشرشده توسط NebuSec، مراحل بهرهبرداری به صورت زیر است:
مرحله ۱: نشت اطلاعات حافظه (Memory Leak)
await leakTypedWord(29, "prime");
const typedShape = await leakTypedWord(29, "shape");
const typedEmptySlots = await leakTypedWord(30, "slots");
مهاجم از آسیب پذیری Type Confusion برای خواندن اطلاعات داخلی اشیاء TypedArray استفاده میکند. این اطلاعات شامل آدرس shape (ساختار شیء)، slots (شکافهای داده) و elements (عناصر آرایه) میشود. با استفاده از این اطلاعات، مهاجم میتواند layout حافظه اشیاء مرورگر را شناسایی کند.
مرحله ۲: ایجاد شیء جعلی (Fake Object Creation)
function installFakeTypedArrayLayout() {
setFakeWord(0, typedShape);
setFakeWord(1, typedEmptySlots);
setFakeWord(2, typedEmptyElements);
setFakeWord(6, writeTarget);
setFakeWord(8, 0x42n);
}
با استفاده از اطلاعات نشتیافته، مهاجم یک شیء TypedArray جعلی در حافظه ایجاد میکند. این شیء با کپی کردن ساختار واقعی یک TypedArray در ناحیهای از حافظه که تحت کنترل مهاجم است، ساخته میشود. نتیجه این کار، ایجاد یک شیء قلابی است که ظاهر آن مانند یک TypedArray واقعی است اما دادههای آن توسط مهاجم کنترل میشود.
مرحله ۳: ایجاد primitives دسترسی به حافظه
با استفاده از شیء جعلی، دو primitive اصلی ایجاد میشوند. اولین primitive، Arbitrary Address Write (AAW) است که به مهاجم امکان نوشتن دلخواه در هر آدرس حافظه را میدهد. دومین primitive، Arbitrary Address Read (AAR) است که به مهاجم امکان خواندن دلخواه از هر آدرس حافظه را میدهد. این دو primitive پایه و اساس تمام مراحل بعدی بهرهبرداری هستند.
مرحله ۴: نشت آدرس اشیاء (Addrof Primitive)
function addrof(obj) {
carrier[CARRIER_FIELDS[CARRIER_FIXED_SLOTS + ADDROF_SLOT]] = obj;
return read64(carrierSlots + 8n * BigInt(ADDROF_SLOT)) & 0xffffffffffffn;
}
مهاجم آدرس واقعی هر شیء جاوااسکریپت را در حافظه نشت میدهد. این کار با ذخیره اشارهگر شیء در یک ناحیه حافظه قابل خواندن و سپس خواندن مقدار آن انجام میشود. نتیجه این کار، دسترسی مهاجم به آدرس واقعی اشیاء در حافظه است.
مرحله ۵: دسترسی خواندن/نوشتن 64 بیتی (RW64)
با ترکیب تابع addrof و AAW/AAR، مهاجم میتواند مقادیر 64 بیتی را در هر آدرس حافظه بخواند و بنویسد. این قابلیت به مهاجم امکان دستکاری دلخواه ساختارهای داده در حافظه مرورگر را میدهد و پایهای برای مراحل پیشرفتهتر بهرهبرداری است.
مرحله ۶: نشت آدرس پایه کتابخانه libxul.so
const ARRAY_ISARRAY_NATIVE_OFF = 0x3075720n;
const MPROTECT_GOT_OFF = 0x8f2a0b8n;
const leakFunctionAddr = addrof(Array.isArray);
const leakFunctionNative = read64(leakFunctionAddr + 32n);
const jsBase = leakFunctionNative - ARRAY_ISARRAY_NATIVE_OFF;
مهاجم با استفاده از آدرس تابع Array.isArray (که بخشی از کتابخانه استاندارد جاوااسکریپت است)، آدرس پایه کتابخانه libxul.so را نشت میدهد. کتابخانه libxul.so شامل تمامی کدهای اصلی مرورگر Firefox است. پس از نشت آدرس پایه این کتابخانه، مهاجم میتواند آدرس هر تابع دلخواه از جمله تابع mprotect را محاسبه کند. تابع mprotect برای تغییر محافظت حافظه (از حالت غیرقابل اجرا به قابل اجرا) استفاده میشود. سپس آدرس mprotect از GOT (Global Offset Table) خوانده میشود.
مرحله ۷: اجرای shellcode با استفاده از WebAssembly
مهاجم shellcode خود را در ناحیهای از حافظه قرار میدهد و سپس با استفاده از تابع mprotect، محافظت این ناحیه را از RW (خواندن/نوشتن) به RWX (خواندن/نوشتن/اجرا) تغییر میدهد. برای اجرای shellcode، مهاجم از ماژولهای WebAssembly استفاده میکند. WebAssembly قابلیت اجرای کد ماشین در مرورگر را فراهم میکند و مهاجم با دستکاری اشارهگر تابع WASM، shellcode خود را فراخوانی میکند.
ایجاد ماژول WASM برای فراخوانی تابع mprotect
const mprotectCaller = makeWasm(wasmCallerBytes, {env: {f: wasmFunction}}).exports.call;
const mprotectRet = mprotectCaller(shellAddr, 0x1000n, 7n);
اجرای shellcode
const shellCaller = makeWasm(wasmCallerBytes, {env: {f: wasmFunction}}).exports.call;
مرحله ۸: اجرای دستورات سیستمی
shellcode نهایی به زبان ARM64 نوشته شده و از سیستم پایپ لینوکس (pipe) برای برقراری ارتباط بین فرآیند اصلی و فرآیند فرزند استفاده میکند. ابتدا یک pipe ایجاد شده، سپس پردازه ی فرزند با fork() ساخته میشود. پردازه ی فرزند با استفاده از execve() دستور /system/bin/sh را اجرا کرده و دستورات مورد نظر مهاجم را از طریق آن اجرا میکند. فرآیند اصلی خروجی دستورات را از طریق pipe میخواند.
بخش آسیبپذیر
رفتار ناامن سیستم:
موتور SpiderMonkey در فایرفاکس هنگام مدیریت اشیاء TypedArray، بررسی نوع (type validation) را به درستی انجام نمیدهد. این نقص به مهاجم اجازه میدهد تا یک fake object ایجاد کند و از طریق type confusion به arbitrary read/write primitive در فضای کاربری دست یابد.
نحوه سوءاستفاده مهاجم:
- مهاجم یک صفحه HTML حاوی جاوااسکریپت مخرب ایجاد میکند
- قربانی با مرورگر Firefox آسیبپذیر از این صفحه بازدید میکند
- جاوااسکریپت مخرب باعث میشود کامپایلر JIT در فرایند Type Inference به استنباط نادرست نوع دادهها برسد و در نتیجه کد نادرستی تولید کند.
- Type Confusion در کامپاینر JIT فعال شده و بررسیهای امنیتی حذف میشوند
- حافظه خراب شده و مهاجم primitives دسترسی به حافظه (AAW/AAR) ایجاد میکند
- مهاجم آدرس کتابخانه libxul.so را نشت داده و shellcode را اجرا میکند
- در نتیجه، مهاجم کنترل کامل renderer process و (در صورت پشتیبانی کرنل) کنترل کامل دستگاه را در اختیار میگیرد
نقش این آسیبپذیری در زنجیره حمله
این آسیبپذیری مرحله اول زنجیره کامل حمله IonStack است که شامل دو آسیبپذیری زیر است:
مرحله ۱ (مرورگر): CVE-2026-10702 در Firefox که اجرای کد در renderer process را ممکن میسازد
مرحله ۲ (کرنل): CVE-2026-43499 (GhostLock) در کرنل لینوکس که ارتقای دسترسی به root را فراهم میکند
با توجه به امتیاز CVSS 7.5 و ماهیت remote بودن آن، مهاجم میتواند از طریق روشهایی مانند Spear Phishing یا Malvertising، قربانی را هدف قرار دهد. پس از موفقیت در بهرهبرداری از این آسیبپذیری، مهاجم میتواند:
- اطلاعات حساس مانند cookies، localStorage، sessionStorage و مقادیر فرمها را سرقت کند
- Session hijacking انجام دهد
- محتوای DOM را دستکاری کند
- Keylogging انجام دهد
- اطلاعات heap V8 را leak کند
برای دستیابی به دسترسی کامل سیستم، مهاجم باید این آسیبپذیری را با آسیبپذیری GhostLock ترکیب کند. با ترکیب این دو آسیبپذیری، مهاجم میتواند با یک کلیک روی لینک مخرب، کنترل کامل دستگاه اندرویدی را در اختیار بگیرد. این اولین نمونه عمومی حمله browser-to-kernel در Android 17 است.
پیشنیازهای بهرهبرداری (Prerequisites)
- استفاده از نسخه آسیبپذیر Firefox (قبل از 151.0.3)
- بازدید کاربر از صفحه HTML مخرب
- فعال بودن JavaScript مرورگر
- عدم نصب وصله امنیتی
رفتار مورد انتظار در حالت امن (Expected Secure Behavior)
- کامپایلر JIT باید فرضیات نوع داده را به درستی اعتبارسنجی کند
- مکانیزم Type Guard باید از اجرای کد با نوع نادرست جلوگیری کند
- بررسیهای مرزی (Bounds Check) نباید توسط بهینهساز حذف شوند
- در صورت تشخیص عدم سازگاری نوع، مرورگر باید به صورت ایمن Crash کند بدون اینکه اجازه اجرای کد مخرب را بدهد
- محیط امنیتی مرورگر (Sandbox) باید از فرار کد جلوگیری کند
- Site Isolation باید فعال باشد تا تأثیر exploit به یک سایت محدود شود
- اصل Fail Secure، هرگونه تلاش برای دسترسی به حافظه آزاد شده باید منجر به پایان ایمن پردازش شود
- پیادهسازی Memory Safe Patterns و استفاده از ابزارهای تشخیصی مانند AddressSanitizer در فرآیند توسعه
راهکارها و کاهش ریسک (Mitigation / Patch Guidance)
اقدامات فوری برای کاهش ریسک:
- به روزرسانی Firefox به نسخه های پچ شده
- اعمال وصلههای امنیتی Mozilla (mfsa2026-54)
- بهروزرسانی Firefox Fenix در اندروید از طریق Google Play Store
- محدودسازی دسترسی کاربران به وب سایت های ناشناس
اقدامات کوتاهمدت / میانمدت برای کاهش ریسک:
- فعال سازی به روزرسانی خودکار مرورگر
- پیاده سازی و تقویت راهکارهای EDR (Endpoint Detection and Response) برای شناسایی رفتارهای مشکوک مرتبط با بهره برداری از مرورگر
- آموزش کاربران در خصوص خطرات باز کردن لینک های ناشناس و دانلود فایل های غیرقابل اعتماد
- استفاده از ابزارهای ad-blocking و anti-malvertising برای کاهش سطح حمله از طریق تبلیغات مخرب
- اجرای راهکارهای Web Filtering برای مسدودسازی وب سایت های مخرب شناخته شده
- غیرفعال کردن جاوااسکریپت برای وب سایت های ناشناس
اقدامات بلندمدت برای کاهش ریسک:
- تدوین و اجرای سیاست ” بهروزرسانی خودکار مرورگر ” (Automated Browser Update) برای تمام سیستم های سازمان
- پیاده سازی Application Control برای محدود کردن اجرای برنامه های ناشناس
- استقرار سیستم های تشخیص نفوذ مبتنی بر هاست ( HIDS ) برای پایش تغییرات غیرعادی در پردازه های مرورگر
- آموزش تیم های عملیاتی در خصوص خطرات آسیب پذیری های مرورگر و نحوه شناسایی و پاسخ به آنها
- پیاده سازی فرآیندهای منظم تست نفوذ (Penetration Testing) و ارزیابی امنیتی برای کشف زودهنگام آسیب پذیری های مشابه در زیرساخت
تشخیص و مانیتورینگ (Detection & Monitoring)
نشانههای تلاش برای سوءاستفاده:
- Crash مکرر فرآیند renderer با خطاهای مرتبط با JIT یا Type Confusion
- پیامهای خطای مرتبط با عدم سازگاری نوع داده
- فعالیت غیرعادی در الگوهای پردازش جاوااسکریپت
- تلاش برای دسترسی به حافظه خارج از محدوده مجاز
- ارتباطات شبکه مشکوک پس از بازدید از صفحات وب خاص
- تغییرات غیرمنتظره در ساختار حافظه مرورگر
- اجرای پردازه های غیرمنتظره توسط Firefox
منابع پیشنهادی برای مانیتورینگ و پایش:
- لاگ های crash مرورگر
- سیستم های SIEM برای جمع آوری و تحلیل مرکزی لاگ ها
- راهکارهای EDR (Endpoint Detection and Response) مانند CrowdStrike، SentinelOne، یا Microsoft Defender for Endpoint
- ابزارهای مانیتورینگ شبکه برای شناسایی درخواست های مشکوک به دامنه های غیرمعمول
- راهکارهای IPS/IDS با امضاهای اختصاصی
- CISA Known Exploited Vulnerabilities Catalog
- اسکنرهای آسیب پذیری برای شناسایی نسخه های مرورگر قدیمی
- Browser Telemetry Logs
واکنش به حادثه (Incident Response)
- ایزوله سازی فوری، سیستم آسیب دیده را از شبکه جدا کنید تا از حرکت جانبی مهاجم جلوگیری شود
- جمع آوری و حفظ لاگ های crash مرورگر، لاگ های شبکه برای تحلیل فارنزیک (Forensics)
- بررسی وجود فایل های مخرب یا تغییرات غیرمجاز در سیستم
- بازنشانی تمام رمزهای عبور کاربران، توکنهای session، و هر گونه اعتبار دسترسی
- نصب فوری وصله امنیتی و بهروزرسانی فوری مرورگر
- بررسی یکپارچگی فایل های سیستمی و شناسایی باینریهای غیرمجاز
- اسکن کامل سایر سیستم های شبکه برای شناسایی علائم مشابه یا دسترسی مهاجم به آن ها
- مستندسازی کامل حادثه (زمان وقوع، نشانهها، اقدامات انجامشده، درسآموختهها) و گزارش به مدیریت ارشد و تیم واکنش سریع (CSIRT)
جریان حمله (Attack Flow)
در نمودار زیر (شکل ۱)، مهاجم یک صفحه HTML مخرب ایجاد میکند که حاوی کد JavaScript برای سوءاستفاده از SpiderMonkey است. قربانی صفحه مخرب را در Firefox 151 باز میکند. کد مخرب با heap spraying، آدرسهای shape و slots را leak میکند. مهاجم یک fake object با ساختار کنترلشده ایجاد میکند. مهاجم از طریق type confusion به arbitrary read/write primitive (addrof, read64, write64) دست مییابد. مهاجم با استفاده از WASM، shellcode دلخواه را در حافظه تزریق میکند. مهاجم با mprotect() مجوزهای حافظه را به RWX تغییر میدهد. shellcode در context فرآیند فایرفاکس اجرا میشود.

شکل 1: جریان اجرای آسیب پذیری
اثبات مفهوم (PoC) — کاملاً غیرمخرب
آزمایشگاه تخصصی Vulnerbyte، این آسیبپذیری را در محیط ایزوله و کنترلشده با استفاده از نسخه آسیبپذیر بررسی و اجرا کرده است
- این آزمایشگاه شامل نسخه آسیبپذیر Firefox 151 (fenix-151.0.multi.android-arm64-v8a.apk) است
- اجرای مرورگر در محیط آزمایشگاهی
- اجرای PoC از آدرس rootme.nebusec.io/b9e3f1a4-7c82-4d6e-9a51-2f8c4b3e0d17
- مشاهده Crash و ریستارت شدن دستگاه
- اجرای PoC در محیط آزمایشگاهی منجر به crash و ریستارت شدن دستگاه در سامانه آسیبپذیر شد
- این اثبات مفهوم صرفاً توصیفی و آموزشی بوده و شامل تغییرات مخرب نمیشود

شکل 2: اجرای POC
رفع مسئولیت
این گزارش صرفاً با هدف آموزش، تحلیل فنی و ارتقای امنیت سازمانی تهیه شده است. هرگونه استفاده مخرب یا خارج از چارچوبهای قانونی از محتوای آن ممنوع است.
منابع
https://www.cve.org/CVERecord?id=CVE-2026-10702
https://nvd.nist.gov/vuln/detail/CVE-2026-10702
https://www.mozilla.org/en-US/security/advisories/mfsa2026-54/#CVE-2026-10702
https://bugzilla.mozilla.org/show_bug.cgi?id=2040903
https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack/CVE-2026-10702
https://nebusec.ai/research/ionstack-part-2/
https://cwe.mitre.org/data/definitions/843.html
https://cwe.mitre.org/data/definitions/733.html
Mozilla Firefox
CVE-2026-10702 – JIT Miscompilation in JavaScript Engine Leading to Remote Code Execution
Affects
- Mozilla Firefox (web browser)
- Other applications embedding the SpiderMonkey JavaScript engine (e.g., mozjs packages on Linux)
- Versions:
- Firefox before version 151.0.3
- Components:
- JavaScript Engine: JIT (Just-In-Time) compiler
- Files:
mozilla-central/js/src/jit/(JIT compilation components)
- Functions:
- JIT optimization and code generation routines
NOT VULNERABLE:
- Firefox 151.0.3 and later
- Firefox 152.0.4-1 (Debian sid)
- Firefox on Ubuntu 22.04 LTS and newer (according to Ubuntu status)
Description
CVE-2026-10702 is a high-severity vulnerability in Mozilla Firefox’s JavaScript engine, discovered by Nebula Security and publicly disclosed on June 2-3, 2026 .
The vulnerability stems from a JIT (Just-In-Time) miscompilation flaw in the JavaScript Engine: JIT component . When the JIT compiler processes certain JavaScript code, it can generate incorrect machine code during runtime optimization . This occurs when the compiler makes improper assumptions about data types, memory layout, or execution flow, leading to malformed machine code generation .
A remote attacker can exploit this vulnerability by creating a specially crafted web page or JavaScript code that triggers the miscompilation when processed by Firefox’s JIT compiler . Upon successful exploitation, the generated malformed code can result in memory corruption, control flow hijacking, or arbitrary code execution .
The technical flaw aligns with CWE-843 (Access of Resource Using Incompatible Type, also known as Type Confusion) , and CWE-733 (Compiler Optimization Removal or Modification of Security-critical Code).
Attack Vector
Primary Attack Vector:
Remote / Network (requires user interaction)
Attack Scenario:
- An attacker crafts a malicious web page containing specially designed JavaScript code that triggers the JIT miscompilation
- The attacker hosts the page on a website, compromises a legitimate site, or delivers it via other means
- The victim visits the page using a vulnerable version of Firefox (before 151.0.3)
- The JIT compiler processes the malicious JavaScript and generates incorrect optimized machine code
- The miscompilation leads to memory corruption or execution of unintended code paths
- The attacker can potentially execute arbitrary code or cause unexpected behavior on the victim’s system
Key Characteristics:
| Attribute | Details |
|---|---|
| Attack Vector | NETWORK |
| Attack Complexity | LOW |
| Privileges Required | NONE |
| User Interaction | REQUIRED (victim must visit malicious page) |
| Scope | UNCHANGED |
| Confidentiality Impact | NONE |
| Integrity Impact | NONE |
| Availability Impact | LOW |
CVSS Base Score: 4.3 (Medium)
Important Context: While the base CVSS score appears moderate, the vulnerability is a JIT miscompilation that can lead to memory corruption and arbitrary code execution . The lower score reflects the attacker requiring user interaction and the issue being quickly patched .
Conditions Affecting Risk:
- Any user browsing the internet with Firefox before version 151.0.3 is at risk
- Users of applications embedding the SpiderMonkey JavaScript engine may be at risk (e.g., mozjs packages on older Ubuntu releases)
- Some Linux distributions may not provide patches for affected embedded mozjs packages
Impact
Successful exploitation allows an attacker to:
- Execute arbitrary code on the victim’s system via crafted JavaScript
- Bypass security mitigations such as ASLR, stack canaries, or control flow integrity protections
- Trigger memory corruption leading to unexpected behavior or crashes
- Leverage crafted JavaScript as a vector for further exploitation
| Impact Area | Level | Description |
|---|---|---|
| Confidentiality | NONE | No direct information disclosure; code execution is main risk |
| Integrity | NONE | System integrity can be compromised through RCE |
| Availability | LOW | Potential crashes and service disruption |
Secondary Impacts:
- Remote code execution leading to system compromise
- Further exploitation through chained attacks
- Data exposure through payload execution
- Potential for complete system takeover
Observed Exploitation & Threat Activity
- Discovery: Nebula Security
- CVE Assignment: June 2, 2026
- Public Disclosure: June 3, 2026
- Patch Availability: Firefox 151.0.3
- Public PoC: No known exploits are available as of publication
- In-the-Wild Exploitation: Not confirmed
- CVSS Score: 4.3 (Medium) (NVD/CISA-ADP)
- VulDB Score: 6.3 (Medium) with estimated exploitation cost $5k-$25k
Disclosure Timeline:
| Date | Event |
|---|---|
| June 2, 2026 | CVE assigned and published |
| June 3, 2026 | Public disclosure by Nebula Security |
| June 8, 2026 | Snyk database updated |
| June 9, 2026 | Tenable Nessus plugin released |
Severity & Metrics
- CVSS v3.1 (NVD/CISA-ADP): Medium (4.3)
- Attack Vector: NETWORK
- Attack Complexity: LOW
- Privileges Required: NONE
- User Interaction: REQUIRED
- Scope: UNCHANGED
- Confidentiality Impact: NONE
- Integrity Impact: NONE
- Availability Impact: LOW
Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
Additional Scoring:
- Tenable VPR: 2.2 (Low)
- VulDB Meta Score: 6.3
Relevant CWE:
- CWE-843 – Access of Resource Using Incompatible Type (‘Type Confusion’)
- CWE-733 – Compiler Optimization Removal or Modification of Security-critical Code
Patch & Vendor Status
- Official Patches Available: Yes – Firefox 151.0.3
- Vendor: Mozilla Corporation
Fixed Firefox Versions:
| Version | Status |
|---|---|
| 151.0.3 | Fixed |
| 152.0.4-1 (Debian sid) | Fixed |
| Before 151.0.3 | Vulnerable |
Ubuntu Status:
| Release | Firefox Status |
|---|---|
| 26.04 LTS | Not affected |
| 25.10 | Not affected |
| 24.04 LTS | Not affected |
| 22.04 LTS | Not affected |
Debian Status:
- Sid (unstable): fixed (151.0.3-1)
Alpine Linux Status:
- Edge-community: possibly vulnerable with older Firefox builds listed
Embedded JavaScript Engines (mozjs packages):
- Ubuntu considers mozjs issues as Ignored in many releases because the embedded packages may not be affected, are not used in Mozilla products, or are too old to receive fixes
- Some older Ubuntu releases remain “Needs evaluation” for specific mozjs packages
Patch Links:
- https://www.mozilla.org/en-US/security/advisories/mfsa2026-54/
- https://bugzilla.mozilla.org/show_bug.cgi?id=2040903
Mitigation & Remediation
Immediate Actions
| Action | Method |
|---|---|
| Update Firefox | Menu → Help → About Firefox → Check for updates (should be 151.0.3 or later) |
| Enable automatic updates | Firefox Settings → General → Firefox Updates → “Automatically install updates” |
| Debian sid systems | sudo apt update && sudo apt upgrade firefox |
Short-Term Defensive Measures
If patching cannot be applied immediately:
- Avoid untrusted websites – Exercise caution when browsing
- Disable JavaScript temporarily (breaks many websites)
- Run Firefox with least privilege – Avoid administrator accounts for regular browsing
- Use browser isolation – Consider running Firefox in sandboxed or virtualized environments
Important Note: The vulnerability requires the victim to visit a crafted web page, so exercising caution with untrusted content can reduce risk.
Long-term Defensive Measures
- Maintain automatic browser updates to ensure timely security patches
- Implement enterprise browser management to enforce version compliance
- Educate users on risks of visiting untrusted websites
- Use endpoint protection to detect browser-based attacks
- Regularly audit Firefox versions across the organization
Detection & Monitoring
Recommended Detection Sources:
| Source | Purpose |
|---|---|
| Vulnerability scanners (Nessus) | Plugin ID 318414 |
| Browser version inventory | Track Firefox compliance across organization |
| Enterprise browser management | Enforce version policies |
| Endpoint Detection & Response (EDR) | Monitor for unexpected browser behavior or crashes |
Indicators of Potential Exploitation:
- Unexpected Firefox crashes after visiting specific websites
- Abnormal browser performance or memory usage
- Unusual child processes spawned from browser processes
- System compromises originating from web browsing activity
Detection Strategy:
- Inventory all Firefox installations across the organization
- Check versions against patched releases:
- Firefox:
151.0.3or later
- Firefox:
- Monitor user reports of browser crashes or suspicious behavior
- Review Firefox crash reports for patterns indicating exploitation attempts
EPSS Score:
- Snyk reports 0.29% (21st percentile) for exploitation probability
- No known exploits are available
Post-Incident Response
If exploitation is suspected:
- Isolate affected system from the network immediately
- Preserve forensic evidence (browser history, cache, system logs, memory dumps)
- Update Firefox to the patched version
- Scan for malware – use endpoint protection tools
- Rotate credentials – change passwords for any accounts accessed on the compromised system
- Audit for persistence – check for unauthorized browser extensions, unusual startup entries, modified system files
- Assume data exposure if sensitive information was accessible during exploitation
- Document and report findings to internal security teams
For Enterprise Environments:
- Apply patches through enterprise deployment tools immediately
- Monitor for other compromised systems in the network
- Review security monitoring and logging capabilities
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-10702
- https://www.mozilla.org/en-US/security/advisories/mfsa2026-54/
- https://security-tracker.debian.org/tracker/CVE-2026-10702
- https://ubuntu.com/security/CVE-2026-10702
- https://security.snyk.io/vuln/SNYK-UNMANAGED-FIREFOX-17238020
- https://www.tenable.com/plugins/nessus/318414
- https://vuldb.com/cve/CVE-2026-10702
- https://security.alpinelinux.org/vuln/CVE-2026-10702
- https://cwe.mitre.org/data/definitions/843.html
- http://cwe.mitre.org/data/definitions/733.html
بررسی آماری آسیب پذیری CVE-2026-10702 در کشور ایران
محصول آسیب پذیر: مرورگر Mozilla Firefox
میزان استفاده در ایران بر اساس سایت های آمار مرتبط با محصول
مطابق با دادههای آماری StatCounter در ماه می سال ۲۰۲۶، فایرفاکس با سهم بازار ۱۱.۷۳ درصدی در بخش مرورگرهای دسکتاپ ایران، پس از گوگل کروم (۷۹.۱۴ درصد) در رتبه دوم قرار دارد. این میزان از ضریب نفوذ، بیانگر آن است که جمعیت کثیری از کاربران ایرانی در معرض خطر این آسیبپذیری قرار دارند. از منظر تحلیل جمعیتشناختی، جامعه هدف فایرفاکس در ایران غالباً شامل توسعهدهندگان وب، افراد مدافع حریم خصوصی و پرسنل سازمانها و دانشگاهها میباشد که سوءاستفاده از این آسیبپذیری میتواند تأثیرات گستردهای بر این قشر داشته باشد.
میزان استفاده در ایران بر اساس موتورهای جستجو (بر اساس ایندکس های گوگل در بخش tools)
تعداد در زمان نگارش گزارش
|
موتور جستجو |
Dork | تعداد |
|
|
site:.ir “Firefox” “مرورگر” |
۳۲۱,۰۰۰ |
| site:.ir “Mozilla” “Firefox” |
۳۴۴,۰۰۰ |
وجود نمایندگی در ایران
شرکت Mozilla دفتر رسمی یا نمایندگی در ایران ندارد. کاربران ایرانی برای دریافت و بهروزرسانی مرورگر Firefox عمدتاً به وبسایت رسمی Mozilla و مخازن نرمافزاری سیستمعاملهای مختلف (مانند Ubuntu، Debian، Windows و macOS) مراجعه میکنند. هیچ گونه پشتیبانی رسمی از طرف شرکت سازنده در کشور وجود ندارد.
میزان استفاده بر اساس گزارشات تحقیقات بازار برای این محصول در ایران
اگرچه آمار رسمی و دقیقی از تعداد سیستمهای آسیبپذیر در ایران وجود ندارد، اما شواهد زیر نشاندهنده سطح قابل توجه ریسک است.
- استفاده از Firefoxدر ایران: طبق دادههای StatCounterدر می ۲۰۲۶، مرورگر Firefoxبا سهم 73٪ از بازار مرورگرهای دسکتاپ در ایران، پس از Google Chrome (با سهم 79.14٪) دومین مرورگر محبوب در کشور محسوب میشود. این سهم بالا به این معناست که میلیونها کاربر ایرانی به طور بالقوه در معرض این آسیبپذیری قرار دارند. کاربران Firefoxدر ایران اغلب افرادی هستند که به حریم خصوصی خود اهمیت میدهند، توسعهدهنده وب هستند یا در سازمانها و دانشگاهها فعالیت میکنند.
- محبوبیت در بین کاربران فارسیزبان: وجود مقالات آموزشی متعدد در وبسایتهای معتبر ایرانی مانند «زومیت»، «دیجیاتو»، «ویرگول» و کانالهای تلگرامی و یوتیوبی درباره نحوه استفاده از Firefox، نشاندهنده استقبال گسترده از این مرورگر در جامعه کاربران ایرانی است.
- تخمین میزان استفاده: با توجه به تعداد کاربران Firefox در ایران (حدود ۷.۵-۸ میلیون نفر) و نرخ پایین بهروزرسانی در بین کاربران عادی، میتوان تخمین زد که دست کم ۳ تا ۴ میلیون کاربر ایرانی به طور بالقوه در معرض این آسیبپذیری قرار دارند. این موضوع به ویژه با توجه به اینکه نسخههای قدیمیتر Firefox (قبل از 0.3) آسیبپذیر هستند و بسیاری از کاربران ممکن است بهروزرسانی خودکار را غیرفعال کرده باشند، نگرانکننده است.
منابع
https://gs.statcounter.com/browser-market-share/desktop/iran