به تازگی اطلاعاتی آسیب پذیری Log4j در وب سرور Apache منتشر شده که یک آسیب پذیری بحرانی روز صفر (0day) بنام Log4Shell میباشد. این آسیب پذیری از نوع RCE بوده و به مهاجم اجازه اجرای دستورات دلخواه از راه دور را میدهد. همچنین از آن‌جایی که این کتابخانه کاربرد بسیاری دارد، آسیب‌پذیری Log4j بخش بزرگی از اینترنت را تحت تاثیر خود قرار داده است. این آسیب پذیری با شناسه CVE-2021-44228 ثبت شده و با وجود اینکه Apache در همان ابتدا، پچ های مربوطه را منتشر کرد ولی همچنان دستگاه های بسیاری، بروزرسانی های مربوطه را انجام نداده و در خطر هستند.

آسیب پذیری Log4j در وب سرور Apache

کتابخانه LOG4J

Log4j یک کتاب‌خانه‌ی پردازش لاگ در جاوا به شمار می‌آید. این کتابخانه، کاربرد بسیاری در وب سرور Apache برای پردازش و مدیریت لاگ ها دارد. این کتابخانه در سرور برنامه ها، سرورهای پایگاه داده (دیتابیس) یا دستگاه های شبکه ای بسیاری در سراسر جهان استفاده شده است.

آسیب پذیری Log4Shell

آسیب پذیری Log4Shell به مهاجم این امکان را می‌دهد که از طریق ارسال یک Payload در هریک از پارامتر های URI, User-Agent, Body, Referer درخواست های HTTP باعث اجرا شدن کدهای مخرب خود در سرویس‌هایی که دارای این ضعف امنیتی هستند، شود.

همچنین اگر در هر یک از مراحل پردازش درخواست‌های HTTP یکی از پارامترهای Body, User-Agent, URL, Referer را لاگ می‌کنید و یا از یکی از محصولات نوشته شده با جاوا مانند محصولات شرکت آپاچی استفاده می‌کنید، به احتمال بسیار زیاد تحت تاثیر این آسیب‌پذیری قرار دارید.

رفع آسیب پذیری Log4j در وب سرور Apache

براساس گزارش Apache، برای رفع این آسیب پذیری میتوانید از راه های زیر اقدام کنید:

  • بروزرسانی به Log4j 2.12.2 (جاوا 7) یا Log4j 2.16.0 (برای جاوا 8) (روش پیشنهادی)
  • در صورتی که امکان ارتقا به نسخه های بالاتر را ندارید، ابتدا مقدار زیر را در تنظیمات وارد کنید:

    log4j2.formatMsgNoLookups=true
    

    سپس کلاس JndiLookup را از مسیر کلاس‌ها پاک کنید. میتوانید از دستور زیر استفاده کنید:

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

سرویس های استفاده کننده از کتابخانه Log4j

سرویس های زیر از کتابخانه Log4j استفاده میکنند:

Apache Druid

Apache Flink

Apache Solr

Apache Spark

Apache Struts2

Apache Tomcat

 

همچنین این آسیب پذیری به قدری بزرگ بود که پروژه هایی مانند: استیم، Minecraft، اپل iCloud، توییتر، Baidu، CloudFlare، آمازون، تسلا و ElasticSearch و بسیاری دیگر اعلام کردند که در خطر این آسیب پذیری قرار گرفتند.

 

مراجع

RedHat

nist.gov

Oracle

CloudFlare