כותרת Penligent

CVE-2025-68668 ניתוח מעמיק: בריחת n8n Pyodide Sandbox וסיכון לתשתית AI

עבור מהנדסי אבטחת AI ואנשי DevSecOps המנהלים תהליכי עבודה אוטומטיים, CVE-2025-68668 מייצג כשל קריטי בשכבות הבידוד של תזמור ה-AI המודרני.

ככל שארגונים מסתמכים יותר ויותר על n8n כדי לחבר בין LLMs (מודלים לשוניים גדולים), מסדי נתונים וקטוריים ו-APIs פנימיים, שלמות סביבת ביצוע זרימת העבודה הופכת להיות בעלת חשיבות עליונה. פגיעות זו, עקיפת ארגז חול קריטית ב-n8n Python Code Node, מדגימה בדיוק מדוע "ארגז חול" בסביבות מתורגמות הוא קשה לאבטחה.

CVE-2025-68668 צילום: האנטר

האנטומיה של CVE-2025-68668

בבסיסו, CVE-2025-68668 (CVSS 9.9) הוא כשל במנגנון ההגנה משפיע על גרסאות n8n מ- 1.0.0 עד 2.0.0. הוא מכוון באופן ספציפי ליישום Python Code Node המסתמך על פיודיד, יישום של CPython ל-WebAssembly/Emscripten.

בעוד Pyodide נועד להריץ את Python בבטחה בסביבות מוגבלות, היישום בתוך ה-backend של n8n לא הצליח לאכוף בקפדנות את גבולות הבידוד.

CVE-2025-68668 ניתוח מעמיק: בריחת n8n Pyodide Sandbox וסיכון לתשתית AI

מנגנון העקיפה הטכני

הפגיעות מאפשרת ל- משתמש מאומת (עם הרשאות ליצירה/שינוי של זרימת עבודה) כדי לצאת מסביבת Pyodide. בהגדרה מאובטחת סטנדרטית, צומת הקוד Python צריך להגביל את הגישה לספריות הסטנדרטיות של המארח, ובפרט os, תת-תהליך, ו sys.

עם זאת, בגרסאות פגיעות, מנגנון הייבוא מאפשר לתוקפים לגשת למעטפת המערכת המארחת הבסיסית. על ידי יצירת מטען Python ספציפי בתוך עורך זרימת העבודה, תוקף יכול לבצע פקודות שרירותיות עם אותן הרשאות כמו תהליך n8n עצמו (לעתים קרובות root בסביבות Dockerized).

פרופיל פגיעות:

תכונהפרטים
מזהה CVECVE-2025-68668
רכיב היעדn8n קוד Python Node (Pyodide)
סוג הפגיעותעקיפת ארגז חול / RCE
ציון CVSS9.9 (קריטי)
וקטוררשת (מאומתת)
השפעהפגיעה מלאה במארח

ניתוח קוד: קונספטואליזציה של הניצול

הערה: בלוק הקוד הבא מיועד למטרות חינוכיות וניתוח הגנתי. אין להשתמש בו נגד מערכות שאינן בבעלותך.

הניצול מנצל את היכולת לגשת למערכת הקבצים של המארח או לטיפול בתהליכים למרות מעטפת Pyodide. לוגיקת עקיפה טיפוסית כוללת ייבוא מחדש של מודולים מוגבלים או ניצול ה- js ממשק (אם הוא חשוף) כדי לגשר בחזרה להקשר המארח של Node.js.

פייתון

`# ייצוג מושגי של לוגיקת הבריחה מהארגז

במקרה של פגיעות ב-n8n, הבידוד אינו מצליח לחסום קריאות מערכת ספציפיות.

נסה: # ניסיון לגשת למשתני הסביבה של המארח או לייבא את מערכת הקבצים os import subprocess

# אם ארגז החול היה יעיל, הדבר היה מעלה שגיאת PermissionError או ImportError # ב-CVE-2025-68668, הדבר מבוצע בהצלחה במארח. output = subprocess.check_output(['whoami']) print(f"Sandbox Broken. User: {output.decode('utf-8')}")

# לאחר מכן, התוקפים יכולים לעבור לדפיקת קבצי .env המכילים מפתחות OpenAI/AWS # malicious_payload = subprocess.check_output(['cat', '/home/node/.n8n/config'])

למעט חריג כ-e: print(“הסביבה מאובטחת או מתוקנת.”)`

מדוע זה חשוב למהנדסי אבטחת AI

זו לא רק פגיעות סטנדרטית באינטרנט; זו פגיעות סיכון בשרשרת האספקה עבור סוכני AI.

  1. איסוף אישורים: זרימות העבודה של n8n הן אוצר בלום של סודות בעלי ערך רב: מפתחות API של OpenAI, אישורי גישה למסד הנתונים הווקטורי Pinecone ואסימוני גישה ל-AWS. ניצול מוצלח מעניק גישה מיידית למשתני סביבה אלה.
  2. הרעלת מודל: תוקף עם RCE יכול ליירט נתונים הזורמים לצינורות ה-RAG (Retrieval-Augmented Generation) שלך, להרעיל את חלון ההקשר או לשנות את פלט המודל לפני שהוא מגיע למשתמש הקצה.
  3. תנועה לרוחב: מכיוון ש-n8n נמצא לעתים קרובות בתוך ה-VPC כדי לגשת למסדי נתונים פנימיים, צומת שנפרץ משמש כנקודת ציר אידיאלית לתנועה רוחבית ברשת הפנימית.

אימות האיום באמצעות בדיקות חדירה אוטומטיות

איתור CVE-2025-68668 מהווה אתגר עבור סורקי פגיעות מסורתיים. כלי DAST (בדיקת אבטחת יישומים דינמית) סטנדרטיים מחפשים לרוב כותרות גרסה או קודי שגיאה HTTP פשוטים. הם חסרים את ההיגיון הדרוש לאימות, ליצירת זרימת עבודה, להזרקת קטע קוד Python ולבדיקת תקינות הקוד שבוצע במארח.

זה המקום שבו בדיקות חדירה מבוססות בינה מלאכותית הופך להיות חיוני.

Penligent מנצל סוכני AI אוטונומיים המחקים את התנהגותו של מהנדס אבטחה אנושי. במקום להסתמך על חתימות סטטיות, הסוכנים של Penligent יכולים:

  • הקשר: הבינו שהיעד הוא מופע n8n.
  • אימות: השתמש באישורים שסופקו כדי לגשת לעורך זרימת העבודה.
  • סינתזה של מטענים: יצירת קוד Python באופן דינמי שנועד לבדוק את גבולות ארגז החול בבטחה (לדוגמה, ניסיון לקרוא קובץ זמני שאינו רגיש).
  • אמת: ניתוח תוצאות הביצוע כדי לאשר שהארגז החולי אכן עוקף, ובכך למנוע תוצאות חיוביות כוזבות הנפוצות בסורקים ישנים.

על ידי שילוב Penligent ב-CI/CD או בבדיקות אבטחה שוטפות, תוכלו להבטיח שפרצות אבטחה לוגיות כמו CVE-2025-68668 יאותרו לפני שיוכלו להיות מנוצלות בסביבת הייצור.

אסטרטגיות תיקון והפחתה

כדי להגן על תשתית האוטומציה של ה-AI שלכם מפני CVE-2025-68668, נדרשת פעולה מיידית.

1. שדרג מיד

התיקון העיקרי הוא לשדרג את n8n לגרסה 2.0.0 או גבוה יותר. צוות n8n שינה לחלוטין את מודל הביצוע של Python בגרסה 2.0 כדי לספק רץ Python מקורי מאובטח כברירת מחדל.

2. השבת את צמתים קוד Python (זמנית)

אם השדרוג אינו אפשרי באופן מיידי, ניתן להפחית את הסיכון על ידי השבתת סוג הצומת הפגיע באמצעות משתני סביבה:

באש

# השבת תמיכה ב-Python בייצוא צומת הקוד N8N_PYTHON_ENABLED=false

3. הגבל את הרשאות זרימת העבודה

מכיוון שמדובר בפגיעות מאומתת, יש ליישם את עקרון ההרשאה המינימלית (PoLP). ודא שרק מהנדסים מהימנים בעלי הרשאות "Workflow Creator" (יוצר זרימת עבודה). בדוק את רשימת המשתמשים שלך באופן מיידי.

סיכום

CVE-2025-68668 מהווה תזכורת חדה לכך שכאשר אנו מפשטים את המורכבות באמצעות כלי AI עם קוד נמוך, אנו מכניסים שכבות חדשות של סיכון. אופי ה"קופסה השחורה" של ביצוע קוד בסביבת sandbox מחייב אימות קפדני ורציף.

עבור מהנדס האבטחה המודרני, הסתמכות על ניהול תיקונים היא הכרחית אך לא מספקת. אימוץ פלטפורמות אבטחה התקפיות אוטומטיות כמו Penligent.ai מאפשר לארגונים לבדוק את עמידותן של אינטגרציות מורכבות אלה באופן רציף, ולהבטיח שסוכני ה-AI שלכם יישארו משרתים, ולא מחבלים פוטנציאליים.

הפניות

שתף את הפוסט:
פוסטים קשורים
he_ILHebrew