עקיפת אימות בספריית xml-crypto, שיש לה מיליון הורדות בשבוע

נקודת תורפה (CVE-402-2024) זוהתה בספריית xml-crypto JavaScript, המשמשת כתלות ב-32962 פרויקטים והורדה מקטלוג NPM כמיליון פעמים בכל שבוע, אשר הוקצתה לו רמת החומרה המרבית (10 מתוך 10). הספרייה מספקת פונקציות להצפנה ואימות חתימה דיגיטלית של מסמכי XML. הפגיעות מאפשרת לתוקף לאמת מסמך פיקטיבי, שבתצורת ברירת המחדל יאומת בהצלחה על ידי הספרייה, למרות העובדה שהוא חתום במפתח שונה מזה שצוין לאימות חתימות. הבעיה הופיעה החל מגרסה xml-crypto 4.0.0 ותוקנה בשקט במהדורת ינואר 6.0.0.

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

מקור: OpenNet.ru

הוספת תגובה