כותרת Penligent

CVE-2025-58034 PoC וניתוח טכני: הזרקת פקודות מערכת הפעלה מאומתת Fortinet FortiWeb

CVE-2025-58034 הוא פגיעות בהזרקת פקודות מערכת הפעלה מאומתות (CWE-78) ב-Fortinet חומת אש ליישומי אינטרנט (WAF) של FortiWeb. בגרסאות המושפעות, תוקף מחובר יכול להפעיל פקודה לא מורשית במערכת הבסיסית באמצעות בקשות ניהול HTTP או פקודות CLI. Fortinet אישרה ניצול פעיל בשטח, ו-CISA הוסיפה את ה-CVE הזה ל- פגיעויות ידועות שנוצלו (KEV) קטלוג, מה שהופך את התיקון לדחוף למרות שציון ה-CVSS הבסיסי הוא "בינוני". (FortiGuard)

מכשירי FortiWeb ממוקמים בגבול האבטחה; ברגע שניתן לבצע פקודות ב-WAF, תוקף יכול להשבית את ההגנות, לשנות את המדיניות ולהתקדם עמוק יותר לתוך רשתות היישומים. מיקום הגבול הזה הוא הסיבה לכך ש-RCE לאחר אימות ב-FortiWeb הוא בעל השפעה תפעולית רבה, למרות PR:H בווקטור CVSS. (NVD)

גרסאות מושפעות ותוקנות

ההודעה של PSIRT של Fortinet וה-NVD מסכימים על טווחי הפגיעות. (FortiGuard)

סניף FortiWebגרסאות מושפעותגרסאות קבועות
8.0.x8.0.0 – 8.0.18.0.2+
7.6.x7.6.0 – 7.6.57.6.6+
7.4.x7.4.0 – 7.4.107.4.11+
7.2.x7.2.0 – 7.2.117.2.12+
7.0.x7.0.0 – 7.0.117.0.12+

יש אין פתרון חלופי אמין המומלץ בפומבי מעבר להסרת חשיפת הניהול ותיקון, ולכן שדרוג הוא אמצעי ההפחתה העיקרי. (FortiGuard)

CVE-2025-58034 Penligent

הגורם השורשי ומשטח התקיפה

הפגיעות נובעת מ ניטרול לא תקין של אלמנטים מיוחדים בהקשר של פקודות מערכת ההפעלה, כלומר FortiWeb מקבל קלט הנשלט על ידי התוקף, אשר מוטמע מאוחר יותר בביצוע פקודות ברמת המערכת ללא בריחה נאותה. הספק מציין כי הבעיה מתרחשת ב רכיבי API ו-CLI כאחד, מה שמרמז בבירור על כך שאחת או יותר מהפעולות הניהוליות בונות פקודות shell על ידי חיבור פרמטרים. (FortiGuard)

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

חומרה ומדוע "בינונית" עדיין משמעותה "לתקן עכשיו"

NVD מפרט את CVSS v3.1 כ: AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H עם ציון של 6.7. (NVD)

על הנייר, PR:H מוריד את הציון. בפועל, שני עובדות גוברות על התווית "בינוני":

  1. Fortinet מצהירה כי ה-CVE הוא מנוצל באופן פעיל בשטח. (FortiGuard)
  2. הכללת CISA KEV מסמנת ערך תוקף אמיתי ומחייבת תיקון מהיר של מערכות פדרליות בארה"ב, בדרך כלל בתוך מספר ימים. (CISA)

לכן, התייחסו ל-CVE-2025-58034 כאל בעדיפות גבוהה ללא תלות בציון הבסיס.

זיהוי הגנתי

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

1) אימות גרסת FortiWeb (CLI)

# הדפס את מצב המערכת ב-FortiWeb CLI קבל את מצב המערכת # חפש: "גרסה: FortiWeb vX.Y.Z"

2) בדיקה פסיבית באמצעות SSH Banner

""" בדיקת גרסת FortiWeb פסיבית באמצעות באנר SSH. ללא מטעני תקיפה; בטוח לבדיקות מלאי מורשות. """ import socket, re def probe_ssh_banner(host, port=22, timeout=3): s = socket.socket() s.settimeout(timeout) s.connect((host, port))
    banner = s.recv(4096).decode(errors="ignore") s.close() return banner def extract_version(text): m = re.search(r"FortiWeb[-\\s]?v?(\\d+\\.\\d+\\.\\d+)", text, re.I)
    return m.group(1) if m else None host = "YOUR_FORTIWEB_IP" banner = probe_ssh_banner(host) ver = extract_version(banner) print("Banner:", banner.strip()) print("FortiWeb version:", ver or "unknown")

3) התאמה לטווחים מושפעים

""" השווה את גרסת FortiWeb שזוהתה לטווחים המושפעים. """ מ-packaging import version AFFECTED = [ ("8.0.0", "8.0.1"), ("7.6.0", "7.6.5"), ("7.4.0", "7.4.10"), ("7.2.0", "7.2.11"), ("7.0.0", "7.0.11"), ] def in_affected_ranges(v: str) -> bool:
    v = version.parse(v) עבור lo, hi ב-AFFECTED: אם version.parse(lo) <= v <= version.parse(hi): החזר True החזר False test_ver = "7.4.8" הדפס(test_ver, "affected?", in_affected_ranges(test_ver))

ציד איומים: מה לחפש

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

סימנים מעשיים כוללים:

  • כניסות חדשות או חריגות של מנהלים (במיוחד מכתובות IP לא מוכרות או בשעות לא שגרתיות),
  • פעילות API ניהולית בלתי צפויה,
  • תהליכים חשודים של ילדים נוצר על ידי שירותי FortiWeb,
  • שינויים במדיניות/בתצורה שאינם תואמים את חלון השינוי שלך. (Rapid7)

דוגמה למיון יומנים קל משקל:

# חיפוש חריגות בכניסת מנהל מערכת grep -Ei "admin|login|cli" /var/log/* 2>/dev/null | tail -n 200

# חפש עקבות בסגנון ביצוע פקודות grep -Ei "exec|shell|system\\(|popen|cmd" /var/log/* 2>/dev/null | tail -n 200

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

CVE-2025-58034 Penligent

הנחיות למיתון

עמדתה הרשמית של Fortinet היא ברורה: שדרג מיד לגרסאות קבועות, ואז לאמת את תקינותו. (FortiGuard)

במקביל, צמצמו את רדיוס הפגיעה על ידי הידוק מישור הניהול: הגבלו את הגישה לממשק המשתמש האינטרנטי (Web UI), ל-API ול-SSH לטווחי IP מהימנים או לרשתות פנימיות, ואכפו אימות רב-שלבי (MFA) בנוסף לנהלי אבטחת מידע קפדניים. הדבר עולה בקנה אחד עם אזהרת הספקים כי ממשקי ניהול חשופים מגבירים את הסיכון בעולם האמיתי. (TechRadar)

מדוע CVE-2025-58034 חשוב

FortiWeb נועד לשמש כנקודת חסימה הגנתית. כאשר WAF עצמו יכול להיות מונע לביצוע פקודות על ידי תוקף מחובר, אתה למעשה איבדת את הגבול והענקת לתוקף דריסת רגל ברשת. עם ניצול שכבר נצפה והקצאת סטטוס KEV, עיכוב הוא האויב כאן. (Rapid7)

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

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