کاهش اثر آسیب‌پذیری log4j

این روزها یک آسیب‌پذیری در کتابخانه log4j اینترنت رو تحت تاثیر قرار داده. در این نوشته کاهش اثر این آسیب‌پذیری رو بررسی می‌کنیم.

روز ۹ دسامبر یک آسیب‌پذیری روز صفر (Zero-day) از کتابخانه log4j گزارش شد. این آسیب‌پذیری اجازه اجرای کد از راه دور (RCE) می‌ده و جدی‌ترین آسیب‌پذیری از زمان Heartbleed و Shellshock ارزیابی شده.

کلودفلر در این نوشته وبلاگ در مورد این آسیب‌پذیری و تاریخچه‌اش توضیح داده و در بخشی از اون راهکاری برای کاهش اثر CVE-2021-44228 گفته:

کاهش اثر آسیب‌پذیری

1- بروزرسانی به Log4j نسخه 2.15.0
2- اگر از نسخه 2.10 و بالاتر Log4j استفاده می‌کنید و امکان بروزرسانی ندارید، این رو تنظیم کنید:

log4j2.formatMsgNoLookups=true

به علاوه می‌تونید این env variable رو هم تنظیم کنید.

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

3- یا JndiLookup رو از classpath حذف کنید. مثلاً دستور زیر از log4j-core حذفش می‌کنه.

zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

صرفنظر از اینکه log4j در استک شما مورد استفاده قرار گرفته یا خیر، در جهت شناسایی و رفع آثار مخرب احتمالی سوء استفاده از این آسیب‌پذیری به هم کمک کنیم. به این نکته هم توجه داشته باشید که ممکنه مستقیم log4j در استک شما نباشه اما از طریق محصولات دیگری مثلا elasticsearch و ... در معرض این آسیب‌پذیری باشید.