Log4jبنیاد نرم‌افزار آپاچی (ASF) روز سه‌شنبه ۲۸ دسامبر ۲۰۲۱ وصله‌های جدیدی را منتشر کرد که حاوی یک نقص اجرای کد دلخواه در Log4j است که می‌تواند توسط عوامل تهدید برای اجرای کدهای مخرب روی سیستم‌های آسیب‌دیده مورد بهره‌برداری قرار گیرد و این پنجمین نقص امنیتی است که در مدت ۱ ماه در این ابزار کشف می‌شود.

این آسیب‌پذیری که به‌عنوان CVE-2021-44832 ردیابی می‌شود[۱]، ازنظر شدت ۶٫۶ در مقیاس ۱۰ رتبه‌بندی شده است و تمامی نسخه‌های کتابخانه logging را از نسخه‌ی ۲ بتا ۷ تا ۲٫۱۷٫۰ به‌استثنای ۲٫۳٫۲ و ۲٫۱۲٫۴ تحت تأثیر قرار می‌دهد. درحالی‌که نسخه‌های یک Log4j تحت تأثیر قرار نمی‌گیرند، به کاربران توصیه می‌شود به نسخه ۲٫۳٫۲ از Log4j (برای جاوا ۶)، ۲٫۱۲٫۴ (برای جاوا ۷) یا ۲٫۱۷٫۱ (برای جاوا ۸ و جدیدتر) ارتقا دهند.

ASF در گزارشی دراین‌باره گفت[۲]: “نسخه‌های ۲ بتا ۷ ازApache Log4j2  تا ۲٫۱۷٫۰ (به‌استثنای نسخه‌های اصلاحات امنیتی ۲٫۳٫۲ و ۲٫۱۲٫۴) در برابر یک حمله اجرای کد از راه دور (RCE) آسیب‌پذیر هستند که در آن مهاجمی با مجوز تغییر فایل پیکربندی لاگ می‌تواند یک پیکربندی مخرب با استفاده از یکJDBC Appender با یک منبع داده ارجاع به یک JNDI URI ایجاد کند که می‌تواند توسط آن کد از راه دور را اجرا کند. این مشکل با محدود کردن نام منبع داده JNDI به پروتکل جاوا در Log4j2 نسخه‌های ۲٫۱۷٫۱، ۲٫۱۲٫۴ و ۲٫۳٫۲ برطرف شده است.”

اگرچه هیچ اعتباری توسط ASF برای این مشکل اعطا نشد، محقق امنیتیِ Checkmarx یعنی Yaniv Nizry، ادعای دریافت اعتبار ارسال گزارش این آسیب‌پذیری به آپاچی را در ۲۷ دسامبر کرد[۳].

Nizry خاطرنشان کرد[۴]: «پیچیدگی این آسیب‌پذیری بیشتر از CVE-2021-44228 اصلی است، زیرا مستلزم آن است که مهاجم بر پیکربندی کنترل داشته باشد. برخلاف Logback، در Log4j یک ویژگی برای بارگذاری یک فایل پیکربندیِ از راه دور یا پیکربندیlogger  از طریق کد وجود دارد، بنابراین می‌توان با [یک] حمله MitM به اجرای کد دلخواه دست یافت، ورودی کاربر به یک متغیر پیکربندی آسیب‌پذیر ختم می‌شود یا فایل پیکربندی را تغییر می‌دهد.”

با آخرین اصلاحات، سازندگان این پروژه از زمانی که نقص Log4Shell در اوایل ماه جاری آشکار شد، درمجموع به چهار مشکل در Log4j رسیدگی کرده‌اند، به‌غیراز پنجمین آسیب‌پذیری که نسخه‌های ۱٫۲ ازLog4j  را تحت تأثیر قرار می‌دهد و رفع نخواهد شد.

CVE-2021-44228 (امتیاز ۱۰ در مقیاس CVSS): یک آسیب‌پذیری اجرای کد از راه دور که نسخه‌های Log4j از نسخه ۲ بتا ۹ تا ۲٫۱۴٫۱ را تحت تأثیر قرار می‌دهد[۵] (در نسخه ۲٫۱۵٫۰ رفع شد).

CVE-2021-45046 (امتیاز ۹ در مقیاس CVSS): آسیب‌پذیری نشت اطلاعات[۶] و اجرای کد از راه دور که بر نسخه‌های Log4j از نسخه ۲ بتا ۹ تا ۲٫۱۵٫۰ تأثیر می‌گذارد، به‌استثنای ۲٫۱۲٫۲ (در نسخه ۲٫۱۶٫۰ رفع شد).

CVE-2021-45105 (امتیاز ۷٫۵ در مقیاس CVSS): یک آسیب‌پذیری انکار سرویس که نسخه‌های Log4j از نسخه ۲ بتا ۹ تا ۲٫۱۶٫۰ را تحت تأثیر قرار می‌دهد[۷] (در نسخه ۲٫۱۷٫۰ رفع شد).

CVE-2021-4104 (ا امتیاز ۸٫۱ در مقیاس CVSS) – یک نقص نامطمئن deserialization که Log4j نسخه ۱٫۲ را تحت تأثیر قرار می‌دهد[۸] (بدون اصلاح، ارتقا به نسخه ۲٫۱۷٫۱).

این توسعه همچنین زمانی صورت می‌گیرد که سازمان‌های اطلاعاتی از سراسر استرالیا، کانادا، نیوزلند، بریتانیا و ایالات‌متحده یک هشدار اطلاعیه‌ی مشترک[۹] در مورد بهره‌برداری انبوه از آسیب‌پذیری‌های متعدد در کتابخانه نرم‌افزار Log4j آپاچی توسط دشمنان را صادر کردند.

 

منابع

[۱] https://nvd.nist.gov/vuln/detail/CVE-2021-44832

[۲] https://logging.apache.org/log4j/2.x/security.html

[۳] https://twitter.com/YNizry/status/1475764153373573120

[۴] https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element

[۵] https://apa.aut.ac.ir/?p=8517

[۶] https://apa.aut.ac.ir/?p=8543

[۷] https://apa.aut.ac.ir/?p=8564

[۸] https://nvd.nist.gov/vuln/detail/CVE-2021-4104

[۹] https://apa.aut.ac.ir/?p=8576

[۱۰] https://thehackernews.com/2021/12/new-apache-log4j-update-released-to.html