נוף ניצול הדפדפנים השתנה באופן מהותי בשנת 2025. במשך שנים, הנרטיב נשלט על ידי באגים מסוג "Use-After-Free" (UAF) ב-DOM (Document Object Model). עם זאת, עם התבגרותו של Google MiraclePtr (מנגנון הגנה על מצביעים גולמיים) והאכיפה הנרחבת של V8 Sandbox, הרף להצלחת הניצול הועלה לרמה חסרת תקדים.
התוקפים — ובמיוחד קבוצות APT מתקדמות וספקי מעקב מסחריים — הסתגלו. ההתקפות של 2025 לא היו קריסות פשוטות; הן היו שרשראות הרג אלגנטיות ורב-שלביות. הן שילבו בלבול בין סוגי V8 לפגוע במנגנון העיבוד, ניצל את זווית שכבת גרפיקה כדי להשיג גישה מיוחדת ל-GPU, וניצלה לרעה Mojo IPC לוגיקה כדי לברוח מהארנקה.
מאמר זה מספק ניתוח טכני מעמיק של וקטורים אלה, תוך התמקדות ב CVE-2025-14174 (זווית), CVE-2025-13223 (V8), והימלטות מהארגז החולי הלוגי CVE-2025-2783, תוך בחינת האופן שבו ניצול אוטומטי המונע על ידי בינה מלאכותית הופך להיות הדרך היחידה לאתר שרשראות מורכבות אלה לפני שהן מגיעות לשוק.
משטח התקיפה החדש: ANGLE ו-CVE-2025-14174
פגיעות: כתיבה מחוץ לגבולות ב-Metal Backend
רכיב: ANGLE (מנוע שכבת גרפיקה כמעט מקורי)
השפעה: ביצוע קוד תהליך GPU
בעוד V8 זוכה לכותרות, ערימת הגרפיקה הפכה לנקודת התורפה של אבטחת הדפדפן. CVE-2025-14174, שנחשף בדצמבר 2025, כוון ל-ANGLE — שכבת ההפשטה של Chrome המתרגמת קריאות WebGL/WebGPU ל-API של המערכת המקורית (DirectX, OpenGL, Metal, Vulkan).
המכניקה הטכנית
הפגיעות הייתה קשורה באופן ספציפי לתרגום של ANGLE של קריאות WebGL ל-Apple. מתכת API. כאשר דף אינטרנט יוזם texImage2D , ANGLE חייב לחשב את מרווח הזיכרון והריפוד כדי למפות את הטקסטורה למרחב הזיכרון של ה-GPU.
ב-CVE-2025-14174, החישוב עבור עומק פיקסלים (משמש במרקמים תלת-ממדיים) סבל מעומס יתר של מספר שלם כאשר פרמטרים ספציפיים של יישור אריזה (GL_UNPACK_ALIGNMENT) שולבו עם ממדים מרקמיים קיצוניים.
הפרימיטיב Exploit:
- פנג שואי ערימה: התוקף מרסס את ערימת התהליכים של ה-GPU עם
זיכרון משותףאובייקטים ליישור קטעי זיכרון. - הדק: קריאת ציור WebGL ספציפית מפעילה את הצפת הזיכרון, וכותבת נתוני מרקם הנשלטים על ידי התוקף מעבר לגבולות המאגר שהוקצה.
- שחיתות: העודף מחליף את
vtableמצביע של אובייקט C++ הנמצא בבלוק הסמוך של הערימה. - ביצוע: כאשר תהליך ה-GPU מנסה להרוס או להשתמש באובייקט זה, הוא קורא לפונקציית מצביע הנשלטת כעת על ידי התוקף.
מדוע זה חשוב:
תהליך ה-GPU הוא יעד מועדף. בניגוד לתהליך ה-Renderer המוגבל מאוד, תהליך ה-GPU מתקשר ישירות עם מנהלי התקנים ברמת הקרנל ומערכות חלונות. השגת RCE כאן לעתים קרובות עוקפת מספר שכבות של אמצעי הגנה של מערכת ההפעלה.
הקלאסיקה שהתפתחה: בלבול בסוג V8 (CVE-2025-13223)
פגיעות: פגם באופטימיזציה של JIT
רכיב: מנוע V8 (טורבו-פאן)
השפעה: Renderer RCE (בתוך V8 Sandbox)
למרות ש-V8 Sandbox מנסה לבודד את הערימה, בלבול בין סוגי V8 נשאר השיטה העיקרית להשגת פרימיטיבים ראשוניים לקריאה/כתיבה. CVE-2025-13223 מדגיש כשל בצינור האופטימיזציה של TurboFan.
כישלון CheckMaps
TurboFan מייעל JavaScript על ידי יצירת הנחות לגבי סוגי אובייקטים (Maps). אם הקוד ניגש למערך של מספרים שלמים שוב ושוב, TurboFan מהדר קוד מכונה המותאם למספרים שלמים. כדי להבטיח בטיחות, הוא מכניס CheckMaps צמתים.
CVE-2025-13223 היה ביטול כפילויות שגיאה. האופטימייזר קבע באופן שגוי כי CheckMaps הצומת היה מיותר והוסר, למרות שתופעת לוואי בקריאה לפונקציה קודמת עלולה לשנות את המפה של האובייקט.
הניצול הקונספטואלי:
JavaScript
`function vulnerable_opt(arr, trigger_obj) { // 1. TurboFan רואה ש-arr הוא מערך של Doubles. let x = arr[0];
// 2. תופעת לוואי: פונקציה זו משנה את 'arr' למערך של אובייקטים. // עם זאת, TurboFan הסיר את בדיקת המפה לאחר קריאה זו עקב הבאג. trigger_obj.toString(); // 3. בלבול סוגים: TurboFan כותב מספר צף, אך הזיכרון הוא כעת מצביעי אובייקטים.
// אנו כותבים ערך float מבוקר (0x4141...) אשר מתפרש כמצביע. arr[1] = 1.337e-308;
}`
הבסת V8 Sandbox
בשנת 2025, קבלת addrOf ו fakeObj פרימיטיבים כבר לא מספיקים בגלל V8 Sandbox. מנגנון אבטחה זה "כלוא" את ערימת ה-V8, כלומר תוקף יכול רק לשבש את הזיכרון בתוך הארגז. הם אינם יכולים להחליף כתובות החזרה בערימה או לשנות מקצים מחוץ לכלוב.
כדי להפוך את CVE-2025-13223 לנשק, התוקפים השתמשו בו כדי לשבש את WasmInstanceObject. על ידי שינוי טבלת הקפיצה של מופע WebAssembly (הנמצא בתוך ארגז החול), הם יכלו להפנות את הביצוע לקוד מעטפת שרירותי שהורכב באמצעות JIT, ובכך להשיג ביצוע קוד שרירותי. בתוך מגבלות המנדר.

הבריחה: באגים לוגיים ב-Mojo IPC (CVE-2025-2783)
פגיעות: אימות הרשאות לא מספק
רכיב: Mojo IPC (תקשורת בין תהליכים)
השפעה: בריחה מהארנקה (פגיעה מלאה במערכת)
עם פגיעה ברנדר, התוקף עדיין כלוא בסנדבוקס. זה המקום שבו Mojo IPC נכנס לתמונה. Mojo היא מערכת IPC בעלת ביצועים גבוהים ש-Chrome משתמשת בה לתקשורת בין ה-Renderer הלא מהימן לבין תהליך הדפדפן בעל הפריבילגיות.
CVE-2025-2783 לא היה באג של פגיעה בזיכרון; זה היה פגם לוגי ביישום של גישה למערכת הקבצים ממשק.
הפגם בשפת הגדרת הממשק (IDL)
Chrome מגדיר ממשקי IPC באמצעות .mojom קבצים. הפגיעות הייתה קיימת בשיטה שנועדה להעניק גישה לקריאה לקבצים זמניים.
C++
// לוגיקה פגיעה בתהליך הדפדפן void OnRequestFileAccess(int32 render_frame_id, String file_path) { // פגם: הדפדפן בדק אם הנתיב היה "בטוח" (למשל, ללא ../) // אך הוא לא אימת אם למתרגם היה *בעלות* על file_path. // תוקף יכול לבקש גישה לנתוני פרופיל או לקובצי Cookie. GrantAccess(file_path); }
שרשרת הניצול:
- מציג פשרות: השתמש ב-CVE-2025-13223 כדי לבצע קוד מקורי.
- הוק מוֹג'וֹ: אתר את טבלאות השיגור של Mojo בזיכרון.
- הודעת Forge: בנה הודעת Mojo גולמית הקוראת
OnRequestFileAccessעם נתיב המפנה לנתוני משתמש רגישים (לדוגמה,נתוני כניסהSQLite DB). - לחלץ: מכיוון שתהליך הדפדפן מבצע את קריאת הקובץ עם הרשאות גבוהות, הוא מחזיר את ידית הקובץ למתרגם, תוך עקיפת הרשאות הקובץ של מערכת ההפעלה.
זה מייצג את "עידן הלוגיקה" של ניצול דפדפנים: שימוש בתכונות חוקיות בדרכים לא חוקיות כדי לחצות גבולות אבטחה.

העתיד של הזיהוי: סינתזה פרימיטיבית מונעת בינה מלאכותית
המורכבות של שרשראות אלה — ובמיוחד המעבר משחיתות ערימת V8 לפרימיטיב יציב, ולאחר מכן לניצול לוגי של Mojo — עולה על יכולת הניתוח הידני של בני האדם. תוכנות Fuzzer מצטיינות באיתור קריסות, אך לא באיתור באגים לוגיים.
זהו התחום התפעולי של Penligent.ai.
יצירת ניצול אוטומטית (AEG)
Penligent משנה את הפרדיגמה מ"סריקת פגיעות" ל"יצירת ניצול אוטומטית".
- סינתזה של פריסת ערימה: במקרה של פגיעויות כמו CVE-2025-14174 (ANGLE), סוכני ה-AI של Penligent מנתחים את התנהגות מקצה הזיכרון כדי לקבוע באופן אוטומטי את הרצף המדויק של הקצאות (Spraying) הדרושות כדי למקם אובייקט יעד ליד מאגר הצפת הזיכרון. הם פותרים את חידת "Heap Feng Shui" באופן מתמטי.
- הנמקה לוגית IDL: לצורך ניצול פרצות Mojo (CVE-2025-2783), Penligent מנתח את כל בסיס הקוד של Chrome.
.mojomהגדרות. הוא בונה גרף תלות של קריאות IPC ומשתמש בלמידה חיזוקית (RL) כדי לזהות רצפים של הודעות תקפות המובילות לשינויים במצב הפריבילגי.
באמצעות אוטומציה של בניית שרשרת ההשמדה המלאה — מהפרימיטיבי ועד הבריחה — Penligent מספקת את הדרך האמינה היחידה לאמת אם תיקון אכן מפרק את נתיב הניצול או רק מתקן את הסימפטום.
מסקנות ואסטרטגיות למיתון השפעות
נוף יום האפס של Chrome לשנת 2025 מלמד אותנו שתקופת ה"התקשות" אכן עובדת, אך היא דוחפת את התוקפים לכיוון באגים לוגיים ושימוש לרעה בתת-מערכות.
אסטרטגיית הגנה קשוחה:
- בידוד קפדני של האתר: ודא
בידוד מקור קפדנימופעל כדי למנוע דליפת נתונים בין מקורות שונים, גם אם המציג נפגע. - השבת WebGL/WebGPU באזורים קריטיים: בפורטלים פנימיים בעלי אבטחה גבוהה, השתמש במדיניות הארגונית כדי להשבית את האצת החומרה, ובכך לנטרל ביעילות את משטח התקיפה ANGLE (CVE-2025-14174).
- ניטור IPC: צוותי ההגנה חייבים להתחיל לפקח על תעבורת IPC פנימית. EDRs כמעט ולא בודקים הודעות Mojo, אך זה בדיוק המקום שבו מתרחשת הפריצה.
הקרב עבר מהערימה והערימה לשערי הלוגיקה של ארכיטקטורת הדפדפן. מהנדסי אבטחה חייבים להתאים את הכלים והחשיבה שלהם בהתאם.

