کشف چهارمین ضعف امنیتی در Log4j؛ اینبار در نسخه 2.17.1
بنیاد نرمافزاری آپاچی (Apache Software Foundation) در پی کشف چهارمین ضعف امنیتی هفتههای اخیر در کتابخانه Log4j، به شناسه CVE-2021-44832، بهروزرسانی دیگری – نسخه 2.17.1 – را برای این کتابخانه منتشر کرده است. تا قبل از این، 2/17/0 امنترین نسخه برای ارتقاء Log4j بهنظر میرسید، اما با شناسایی آسیبپذیری از نوع اجرای کد از راه دور (Remote Code Execution – به اختصار RCE) در آن، نسخه 2/17/1 جهت ترمیم این ضعف امنیتی منتشر شد.
در این گزارش که با همکاری شرکت مهندسی شبکه گستر و مرکز مدیریت راهبردی افتای ریاست جمهوری تهیه گردیده ضعف امنیتی مذکور مورد بررسی قرار گرفته است.
سوءاستفاده گسترده از اولین آسیبپذیری اخیر در این کتابخانه (با شناسه CVE-2021-44228) که Log4Shell یا LogJam نامیده شده بود، پس از انتشار یک نمونه اثباتگر (Proof-of-Concept – به اختصار PoC) در GitHub از حدود 18 آذر آغاز شد.
با توجه به استفاده گسترده Log4j در اکثر برنامههای Java و این واقعیت که سوءاستفاده از ضعف امنیتی با شناسه CVE-2021-44228، نیازی به تخصص فنی سطح بالا و احراز هویت ندارد، آسیبپذیری مذکور به کابوسی برای سازمانها و دولتها در سراسر جهان تبدیل شد. از این رو، شرکت آپاچی نسخه Log4j 2.15.0 را برای ترمیم آسیبپذیری CVE-2021-44228 منتشر کرد.
مهاجمان باجافزار Conti همچنان در حال سوءاستفاده از ضعفامنیتی Log4Shell کتابخانه مذکور برای دسترسی سریع به VMware vCenter Server و رمزگذاری ماشینهای مجازی در سیستمهای آسیبپذیر و وصله نشده میباشند. این در حالی است که مهاجمان، پلتفرم رمزنگاری ویتنامی با نام ONUS را نیز از طریق log4shell مورد نفوذ قرار داده و درخواست 5 میلیون دلار باج کردهاند.
پس از گذشت چند روز از کشف نخستین ضعف امنیتی در کتابخانه Log4j، دومین آسیبپذیری موجود در نسخه 2/15/15 کتابخانه مذکور به شناسه CVE-2021-45046 کشف شد. بنیاد آپاچی، نسخه 2/16/0 را به منظور رفع ضعف امنیتی CVE-2021-45046 منتشر کرد و اعلام نمود که به طور کامل باگ مذکور را برطرف کرده است. با این وجود، نسخه ۲.۱۶.۰ Log4j نیز همچنان دارای آسیبپذیری به شناسه CVE-2021-45105 از نوع Infinite Recursion بوده و مهاجمان میتوانند از آن جهت حمله منع سرویس (Denial-of-Service – به اختصار DoS) سوءاستفاده نمایند.
بهمنظور رفع سومین آسیبپذیری، بنیاد آپاچی نسخه 2/17/0 (سومین نسخه جدید) را برای کتابخانه Log4j منتشر کرد. این نسخه ایمنترین نسخه تلقی میشد.
اما اکنون آسیبپذیری دیگری از نوع RCE با شناسه CVE-2021-44832 در نسخه 2/17/0 شناسایی شده که منجر به انتشار نسخه جدیدتر 2/17/1 جهت ترمیم آن شده است. ضعف امنیتی مذکور دارای درجه اهمیت “متوسط” (Moderate) و شدت 6.6 از 10 (بر طبق استاندارد CVSS) میباشد. آسیبپذیری مذکور ناشی از فقدان کنترلهای لازم در دسترس JDNI در log4j است.
باگ مذکور اینطور توصیف شده که JDBC Appender باید هنگام دسترسی به JNDI از JndiManager استفاده کند. دسترسی JNDI باید از طریق یکی از ویژگیهای سیستم کنترل شود.
سوءاستفاده از ضعف امنیتی CVE-2021-44832 موجب میشود که مهاجم با استفاده از یک JDBC Appender با منبع دادهای که به JNDI URI ارجاع میدهد، مجوز تغییر پیکربندی فایل ورود (Logging Configuration File) را دریافت نموده و ضمن ایجاد یک پیکربندی مخرب، از راه دور کد مخرب دلخواه را اجرا کند.
تاکنون، آسیبپذیریهای کتابخانه log4j توسط انواع مختلفی از مهاجمان در سیستمهای آسیبپذیر نقاط مختلف جهان مورد سوءاستفاده قرار گرفته است.
به راهبران امنیتی توصیه میشود به منظور در امان ماندن از حمله مهاجمان در اسرع وقت با مراجعه به نشانیهای زیر کتابخانه Log4j را به جدیدترین نسخه 2/17/1 (Java 8)، 2/12/4ا(Java 7) و 2/3/2 (Java 6) ارتقاء دهند.
https://logging.apache.org/log4j/2.x/
https://logging.apache.org/log4j/2.x/security.html#CVE-2021-44832