Ghostcat، باگ ۱۳ ساله در Apache-Tomcat
Ghostcat، یک آسیبپذیری ۱۳ سالهی گنجاندن فایل (file inclusion) است که سرورهای Apache-Tomcat را تحت تآثیر قرار میدهد و مهاجمان را قادر میسازد تا از راه دور هر فایلی را در دایرکتوریهای این وب سرور قرار دهند و یا از آن بخوانند.
Tomcat یکی از محبوبترین سرورهای میانافزار جاواست که برای استقرار Java Servlets و JSPs استفاده میشود، همچنین یک محیط وب سرور HTTP، "pure Java" ارائه میدهد که در آن، کدهای جاوا قابلیت اجرا شدن داشته باشند.
آسیبپذیری بحرانی Ghostcat، که در ابتدا توسط یکی از محققان Chaitin Tech کشف شد به طور خاص در پروتکل AJP مربوط به Tomcat وجود دارد.
پروتکل AJP، یک پروتکل باینری است که میتواند درخواستهای ورودی از یک وب سرور را تماماً تا یک سرور اپلیکیشن که در پشت این وب سرور قرار دارد، پراکسی کند.
به این آسیبپذیری شناسه " CVE-2020-1938" اختصاص داده شده است و تمام نسخههای Tomcat 9/8/7/6 را تحت تآثیر قرار میدهد.
نسخههای آسیبپذیر Tomcat:
• Apache Tomcat 9.x < 9.0.31
• Apache Tomcat 8.x < 8.5.51
• Apache Tomcat 7.x < 7.0.100
• Apache Tomcat 6.x
Ghostcat، یک آسیبپذیری خواندن یا قراردادن فایل با ریسک بالا در Tomcat است و به موجب آن مهاجم میتواند با اکسپلویت نقص file inclusion (گنجاندن فایل)، کد مخرب خود را بر روی هاست مورد هدف اجرا نماید. به عبارت دیگر، آسیبپذیری مذکور به یک مهاجم اجازه میدهد تا فایلهای پیکربندی و فایلهای کد منبع تمام وباپلیکیشنهای قرار گرفته در Tomcat را بخواند و در صورتیکه در این وباپلیکیشن، به دلیل این نقص، امکان آپلود فایل وجود داشته باشد، مهاجم قادر است هر گونه فایل را در آن سرور آپلود کند.
امکان دیگری که برای مهاجم فراهم است این است که Java Server Pages (JSP)های مخرب که امکان اجرای کد از راه دور را در سرور دارند، آپلود نماید.
به گفته محقق Chaitin Tech، در شرایط زیر میتوان این نقص موجود در Tomcat را مورد اکسپلویت قرار داد:
- اگر رابط AJP فعال باشد و مهاجم بتواند به پورت سرویس AJP Connector دسترسی پیدا کند، خطر اکسپلویت آسیبپذیری Ghostcat وجود دارد.
- لازم به ذکر است که Tomcat AJP Connector به طور پیشفرض در ۰.۰.۰.۰:۸۰۰۹ فعال شده است.
محققان Chaitin Tech، این آسیبپذیری را در تاریخ ۲۰۲۰/۰۱/۰۳ به مقامات رسمی Apache Tomcat گزارش دادند و آنها نیز با رفع آسیبپذیری ذکر شده، نسخههای ۹.۰.۳۱ و ۸.۵.۵۱ را منتشر کردند.
کاربران میتوانند اطلاعیه وصله آسیبپذیری Ghostcat را برای Tomcat 7.x، Tomcat 8.x و Tomcat 9.x مطالعه کنند. همچنین برای تشخیص و شناسایی این آسیبپذیری از اسکنر Utilize xray متعلق به محققان Chaitin Tech استفاده کنند.