بنیاد نرمافزاری آپاچی (Apache Software Foundation) در پی کشف سومین ضعف امنیتی در Log4j، به شناسه CVE-2021-45105، بهروزرسانی دیگری – نسخه 2.17.0 – را برای این کتابخانه منبع باز مبتنی بر Java منتشر کرده است.
در این گزارش که با همکاری شرکت مهندسی شبکه گستر و مرکز مدیریت راهبردی افتای ریاست جمهوری تهیه گردیده ضعف امنیتی مذکور مورد بررسی قرار گرفته است.
Log4j که توسط بنیاد نرمافزاری آپاچی توسعه یافته، به طور گسترده در برنامههای کاربردی سازمانی و سرویسهای ابری مورد استفاده قرار گرفته است. ۱۸ آذر ۱۴۰۰، اولین آسیبپذیری موجود در این کتابخانه با درجه اهمیت “حیاتی” (Critical) که از نوع RCE (اجرای کد از راه دور) میباشد، کشف شد. ضعف امنیتی مذکور Log4Shell یا LogJam نامیده میشود، دارای شناسه CVE-2021-44228 بوده و درجه شدت آن ۱۰ از ۱۰ (بر طبق استاندارد CVSS) گزارش شده است.
از آنجایی که کتابخانه مذکور در بسیاری از سرویسها و سرورها تعبیه شده و سوءاستفاده از این ضعف امنیتی نیازی به تخصص فنی سطح بالا و احراز هویت ندارد، بخش قابل توجهی از نرمافزارهای سازمانی، برنامههای تحت وب و انواع مختلف سرورهای آپاچی در برابر سوءاستفاده از این ضعف امنیتی و حملات RCE مبتنی بر آن، آسیبپذیر هستند. ضعف امنیتی مذکور به مهاجمان اجازه میدهد تا اسکریپتهای مخرب را دانلود و اجرا نموده و امکان کنترل کامل از راه دور سیستم را برای آنها فراهم میکند. از این رو، شرکت آپاچی نسخه Log4j 2.15.0 را برای ترمیم آسیبپذیری CVE-2021-44228 منتشر کرد.
سرویسهای Honeypot شرکت بیتدیفندر نیز با استناد به ترافیک ایجاد شده، تلاشهای متعدد مهاجمان را برای استقرار یک باجافزار بر روی سیستمهای آسیبپذیر با استفاده از باگ Log4Shell گزارش کردند.
شرکت مایکروسافت (.Microsoft Corp) نیز ضمن تائید یافتههای Bitdefender، اظهار داشته که تلاشهایی را مشاهده کرده که در آن مهاجمان با سوءاستفاده از Log4Shell در حال انتشار باجافزار Khonsari بر روی سرور Minecraft میباشند.
پس از گذشت چند روز از کشف نخستین ضعف امنیتی در کتابخانه Log4j، دومین آسیبپذیری موجود در کتابخانه مذکور به شناسه CVE-2021-45046 کشف شد که بر نسخه 2.15.0 که برای ترمیم Log4Shell ارائه شده بود، تأثیر میگذاشت.
با این حال، به نظر میرسد که باگ کشف شده در نسخه 2.15.0 که با شناسه CVE-2021-45046 گزارش شده بود، از اهمیت و شدت کمتری برخوردار است. آپاچی این ضعف امنیتی را با درجه اهمیت “متوسط” (Moderate) و شدت 3.7 از 10 (بر طبق استاندارد CVSS) گزارش نموده است.
بنیاد آپاچی، نسخه 2.16.0 Log4j را برای رفع ضعف امنیتی CVE-2021-45046 منتشر کرد و اعلام نمود که به طور کامل باگ Context Lookup را ترمیم نموده و دسترسی به Java Naming and Directory Interface – به اختصار JNDI – را به طور پیشفرض غیرفعال کرده است.
با این وجود، نسخه 2.16.0 Log4j نیز در برابر جستجوهای خودارجاعی (Self-referential Lookup) همچنان آسیبپذیر بود و نمیتواند از توابع بازگشتی غیر کنترل شده (Uncontrolled Recursion) پیشگیری کند. هنگامی که پیکربندی ورود به سیستم (Logging Configuration) از یک Pattern Layout غیر پیشفرض با قابلیت Context Lookup استفاده میکند (برای مثال {ctx:loginId}$$)، مهاجمان با کنترل بر روی دادههای ورودی Thread Context Map میتوانند دادههای ورودی مخربی را که حاوی جستجوی بازگشتی (Recursive Lookup) است، ایجاد نمایند؛ این امر منجر به خطای StackOverflowError شده و پروسه را خاتمه میدهد. این باگ به عنوان یک حمله منع سرویس (Denial of Service – به اختصار DoS) نیز شناخته میشود. این ضعف امنیتی، دارای شناسه CVE-2021-45105 بوده، از نوع Infinite Recursion است و بر تمامی نسخههای Log4j از alpha1-و2.0 و حتی نسخه دوم منتشر شده یعنی 2/16/0 نیز تأثیر میگذارد. برای این ضعف امنیتی، شدت 7.5 از 10 (بر طبق استاندارد CVSS) و درجه اهمیت “بالا” (High) گزارش شده است.
بهمنظور رفع سومین آسیبپذیری، اخیراً بنیاد آپاچی نسخه 2.17.0 (سومین نسخه جدید) را برای کتابخانه Log4j منتشر کرد.
بنیاد آپاچی در نسخه اخیر، در PatternLayout مربوط به پیکربندی ورود (Logging Configuration)، این مشکل را با تغییر Context Lookup از حالتهای {ctx:loginId}$ یا {ctx:loginId}$$ به الگوهای Context Map نظیر (X%،اmdc%،اMDC%) ترمیم نموده است. در غیر اینصورت، در پیکربندی، ارجاعات به Context Lookup نظیر {ctx:loginId}$ یا {ctx:loginId}$$، که از منابع خارجی برنامههای کاربردی مانند هدرهای HTTP یا ورودی کاربر نشات میگیرند، باید حذف شوند.
بنیاد نرمافزاری آپاچی ضمن انتشار نسخه 2.17.0، توصیهنامهای امنیتی نیز در نشانی زیر منتشر کرده است:
https://logging.apache.org/log4j/2.x/
بنیاد نرمافزاری آپاچی به مدیران امنیتی توصیه میکند که در اولین فرصت، کتابخانه Log4j را در سیستمهای خود به نسخه 2.17.0 ارتقا دهند.
منبع:
https://www.computing.co.uk/news/4042307/log4j-vulnerability-uncovered-apache-releases-version