מצאנו פרצת אבטחה מסוג SSRF אצל אחד הלקוחות שלנו.
Server Side Request Forgery – מתקפה המאפשרת לתוקף לגרום לשרת להוציא בקשת HTTP לכל מקום שירצה, מהשרת עצמו. כלומר מתוך הרשת הפנימית, אל כל שירות שלא פתוח כלפי חוץ.
לא מזמן מצאנו בבדיקת חוסן שביצענו אצל אחד הלקוחות שלנו חולשה מעניינת במוצר ששילב יכולות AI בתוך פיצ’ר קיים של העלאת קבצים וניתוח מסמכים. המשתמש היה יכול לספק קובץ להעלאה או URL חיצוני, והמערכת הייתה מושכת את התוכן, שולחת אותו ל-AI service פנימי ומחזירה סיכום. לכאורה מדובר בפיצ’ר נוח, אבל בפועל זה יצר SSRF חמור.
ברגע שהשדה url לא עבר ולידציה אמיתית, תוקף יכול היה לדוגמה לשלוח קריאה כזו:
POST /api/analyze
{
"url": "169.254.169.254/latest/meta-data/iam/security-credentials/"
}
במקום להוריד PDF, השירות הפנימי ניגש ל-metadata service של הענן והחזיר credentials תקפים. משם הדרך קצרה לגישה ל-storage buckets, לסודות פנימיים ול-API calls ברמת חשבון הענן. בבדיקות נוספות ראינו שגם קריאות ל-internal services על 10.x ו-172.x התקבלו בהצלחה, מה שאפשר מעבר מלא לכל שכבת ה-infrastructure דרך פרוקסי לגיטימי לכאורה.
זו חולשה קריטית, כי היא נולדה מתוך feature request לגמרי לא מזיק. מישהו רצה לאפשר ניתוח מסמכים מ-URL במקום להעלות קובץ, ובלי לחשוב יצר פרוקסי שמאפשר לתוקף להגיע ישירות לנכסי הליבה של הסביבה.
המסקנה ברורה – כשמשלבים AI בפיצ’ר קיים, חשוב לא רק לחשוב על החוויה אלא גם על איך הפיצ’ר יכול להפוך ל-attack surface. טעות קטנה בהנחות לגבי input של המשתמש יכולה להפוך מערכת חכמה לכלי נשק שמופעל נגדך.
פוסט זה פורסם לראשונה בלינקדאין בתאריך 2025-09-30. — ארז מטולה