ההתכנסות בין פגיעויות אינטרנט מסורתיות ותשתית AI Agentic יצרה משטח התקפה חדש ומסוכן. בעוד קהילת אבטחת הסייבר הרחבה דנה בנושא CVE-2026-23478 כעקיפת אימות קריטית ב- Cal.com, מהנדסי אבטחת AI חייבים להסתכל על זה מנקודת מבט שונה: סיכון שלמות הכלים.
עבור צוותי אבטחה המנהלים סוכנים אוטונומיים — במיוחד אלה עם גישה ליומן ויכולות תזמון — פגיעות זו מהווה וקטור להשתלטות מרחוק על חשבון (ATO) העוקף לא רק את המשתמש האנושי, אלא גם את אמצעי ההגנה של הסוכן ה-AI עצמו.
להלן פירוט טכני של CVE-2026-23478, המכניקה הספציפית שלו בתוך זרימת NextAuth, והסיבות לכך שהוא מהווה סיכון קטסטרופלי לפריסות AI ארגוניות.
האנטומיה של CVE-2026-23478
חומרה: קריטית (CVSS v4.0: 10.0)
גרסאות מושפעות: Cal.com v3.1.6 עד < 6.0.7
וקטור: עקיפת אימות באמצעות session.update()
בבסיסו, פגיעות זו טמונה ביישום המותאם אישית של NextAuth.js חזרה ל-JWT. Cal.com, הנמצא בשימוש נרחב כ"כלי" לתזמון בסיסי עבור אלפי סוכני AI ואינטגרציות SaaS, לא הצליח לאמת כראוי את קלט המשתמשים במהלך שיחת עדכון הפעלה.
ביישום מאובטח, session.update() אמור לאפשר למשתמש לשנות רק מטא-נתונים לא רגישים של הפעלה. עם זאת, בגרסאות המושפעות, היישום מאפשר ל- דוא"ל שדה בתוך ה-JWT שיש לשנות ללא אימות מחדש.
תבנית קוד פגיע
הפגם קיים מכיוון שה-backend מקבל באופן עיוור את המטען מהצד של הלקוח. עדכון() ומאחד אותה לאסימון המושב.
JavaScript
// ייצוג פסאודו-קוד של לוגיקת החזרה של NextAuth הפגיעה // אין להשתמש בייצור
callbacks: { async jwt({ token, user, trigger, session }) { if (trigger === “update” && session) { // פגיעות: מיזוג עיוור של נתוני הפעלה לתוך האסימון // התוקף מאפשר לעקוף את שדה 'email' ולהפוך למעשה למשתמש. return { …token, …session }; } return token; } }`
תוקף — או סוכן AI שנפרץ — יכול לנצל זאת על ידי שליחת בקשה מתוכננת לנקודת הקצה. אם סוכן AI מתקשר עם Cal.com API בשם משתמש, והסוכן מעבד קלט לא מהימן (לדוגמה, הנחיה זדונית המבקשת מהסוכן "לעדכן את ההעדפות"), הסוכן עלול להילכד בתיאוריה ולהפעיל את הזרימה הזו.

דוגמה למטען ניצול:
JSON
POST /api/auth/session Content-Type: application/json
{ "csrfToken": "valid_token_here", "data": { "email": "[email protected]", "username": "admin" } }`
לאחר שהשרת מעבד זאת, ה-JWT נחתם מחדש עם ה- יעד דוא"ל. התוקף (או הסוכן המזויף) למעשה נהיה המנהל מבלי לדעת את הסיסמה שלהם או לעקוף את אתגרי ה-2FA.
מדוע זה חשוב למהנדסי אבטחת AI
לעתים קרובות אנו מתייחסים ל"כלים" (API ש-LLM יכול לקרוא) כאל קופסאות שחורות אמינות. CVE-2026-23478 מפרק הנחה זו.
בשנת 2026, הדפוס האדריכלי הדומיננטי עבור בינה מלאכותית הוא זרימת עבודה סוכנתית:
הנחיית משתמש $\rightarrow$ LLM $\rightarrow$ ביצוע כלי (Cal.com) $\rightarrow$ פעולה
אם הארגון שלך מפעיל עוזר תזמון מבוסס בינה מלאכותית (למשל, עבור משאבי אנוש או מכירות) המסתמך על מופע מאוחסן עצמית של Cal.com, אתה חשוף.
| וקטור התקפה | תרחיש אינטרנט מסורתי | תרחיש סוכן AI |
|---|---|---|
| הדק | התוקף שולח בקשת CURL באופן ידני. | התוקף משתמש בהזרקת פקודה כדי לאלץ את הסוכן לקרוא לנקודת הקצה של העדכון. |
| השפעה | התוקף מתחבר כקורבן. | התוקף חוטף את זהות הסוכן, המעניק גישה לכל היומנים שהסוכן מנהל. |
| איתור | יומני WAF, זיהוי חריגות ב-IP. | קשה ביותר. הבקשה מגיעה מה-IP הפנימי של הסוכן המהימן. |
זהו קלאסיקה סגן מבולבל הבעיה החמירה בשל חומרת הפגיעות הבסיסית. לסוכן יש את הרשאה כדי לקרוא ל-API, ול-API יש פגם לוגי המאפשר העלאת הרשאות.

זיהוי אוטומטי עם Penligent
איתור שרשראות פגיעות כמו זו — שבה פגם לוגי בתלות פוגש זרימת עבודה סוכנת — הוא בדיוק הסיבה שבגללה בנינו את Penligent.
כלי ניתוח סטטי (SAST) לעיתים קרובות מפספסים פגמים לוגיים בספריות צד שלישי כמו יישומים של NextAuth, וסורקי DAST סטנדרטיים עשויים שלא להבין את המצב המורכב של הפעלת סוכן AI.
כיצד Penligent מתמודדת עם CVE-2026-23478:
- מודעות לתלות: המנוע של Penligent מזהה שהסוכן הווירטואלי שלך מתקשר עם
Cal.com(v5.x). - פוזינג רגיש להקשר: במקום רק לבדוק אם יש XSS, Penligent מדמה תוקף שמנסה להגדיל את ההרשאות שלו באמצעות הכלים הזמינים של הסוכן.
- הוכחת ניצול: הפלטפורמה מנסה לשכפל בבטחה את
עדכון הפעלהעקוף בתוך סביבת ארגז חול, והוכיח אם תצורת הסוכן הספציפית שלך מאפשרת שינוי מצב זה.
על ידי שילוב Penligent בצינור ה-CI/CD שלכם, אתם מבטיחים כי כלים ה-AI שלך מסתמך עליהם אינם החוליה החלשה ביותר בשרשרת האבטחה שלך.
תיקון וצמצום נזקים
לצוותים המשתמשים כרגע ב- Cal.com בתוך תשתית ה-AI שלהם, נדרשת פעולה מיידית.
- תקן מיד: שדרג הכל Cal.com מקרים ל גרסה 6.0.7 או גבוה יותר. גרסה זו מאלצת אימות קפדני על
jwtcallback, מונע אתדוא"לשדה מלהיות מוחלף במהלך עדכוני הפעלה. - הגבל את היקף הסוכנים: ודא שסוכני ה-AI שלך פועלים עם עקרון הפריבילגיה המינימלית. סוכן המסוגל לתאם פגישות צריך לא יש לך הרשאות לקרוא לנקודות קצה של ניהול הפעלה או עדכון פרופיל משתמש.
- צג
עדכון הפעלהשיחות: בדוק את היומנים שלך כדי לאתר קריאות לנקודת הקצה של עדכון ההפעלה שבה המטען מכיל שדות רגישים כגוןדוא"ל,sub, אותפקיד.

