Apache Tomcat میں کمزوری جو آپ کو JSP کوڈ کو تبدیل کرنے اور ویب ایپلیکیشن فائلوں کو حاصل کرنے کی اجازت دیتی ہے۔

چینی کمپنی Chaitin Tech کے محققین نے دریافت کیا ہے۔ کمزوری (CVE-2020-1938) میں اپاچی ٹامکٹ, Java Servlet، JavaServer Pages، Java Expression Language اور Java WebSocket ٹیکنالوجیز کا کھلا نفاذ۔ خطرے کو کوڈ کا نام Ghostcat اور ایک نازک سیوریٹی لیول (9.8 CVSS) تفویض کیا گیا ہے۔ مسئلہ پہلے سے طے شدہ ترتیب میں، نیٹ ورک پورٹ 8009 پر درخواست بھیج کر، ویب ایپلیکیشن ڈائرکٹری سے کسی بھی فائل کے مواد کو پڑھنے کی اجازت دیتا ہے، بشمول سیٹنگز اور ایپلیکیشن سورس کوڈز والی فائلیں۔

کمزوری دیگر فائلوں کو ایپلیکیشن کوڈ میں درآمد کرنا بھی ممکن بناتی ہے، جو سرور پر کوڈ کے نفاذ کی اجازت دیتا ہے اگر ایپلی کیشن فائلوں کو سرور پر اپ لوڈ کرنے کی اجازت دیتی ہے (مثال کے طور پر، حملہ آور JSP اسکرپٹ کو اپ لوڈ کر سکتا ہے جس کے ذریعے تصویر کے بھیس میں تصویر اپ لوڈ فارم)۔ حملہ اس وقت کیا جا سکتا ہے جب اے جے پی ہینڈلر کے ساتھ نیٹ ورک پورٹ پر درخواست بھیجنا ممکن ہو۔ ابتدائی اعداد و شمار کے مطابق، آن لائن پایا اے جے پی پروٹوکول کے ذریعے 1.2 ملین سے زیادہ میزبان درخواستیں قبول کر رہے ہیں۔

کمزوری AJP پروٹوکول میں موجود ہے، اور نہیں بلایا عمل درآمد میں غلطی HTTP (پورٹ 8080) کے ذریعے کنکشن قبول کرنے کے علاوہ، Apache Tomcat بطور ڈیفالٹ AJP پروٹوکول کے ذریعے ویب ایپلیکیشن تک رسائی کی اجازت دیتا ہے۔اپاچی Jserv پروٹوکول، پورٹ 8009)، جو کہ اعلی کارکردگی کے لیے موزوں HTTP کا ایک بائنری اینالاگ ہے، عام طور پر ٹامکیٹ سرورز کا کلسٹر بناتے وقت یا ریورس پراکسی یا لوڈ بیلنسر پر Tomcat کے ساتھ تعامل کو تیز کرنے کے لیے استعمال ہوتا ہے۔

AJP سرور پر فائلوں تک رسائی کے لیے ایک معیاری فنکشن فراہم کرتا ہے، جسے استعمال کیا جا سکتا ہے، بشمول ایسی فائلوں کو حاصل کرنا جو انکشاف کے تابع نہیں ہیں۔ سمجھا جاتا ہے کہ AJP صرف قابل اعتماد سرورز کے لیے قابل رسائی ہے، لیکن درحقیقت Tomcat کی ڈیفالٹ کنفیگریشن نے ہینڈلر کو تمام نیٹ ورک انٹرفیس پر چلایا اور بغیر تصدیق کے درخواستوں کو قبول کیا۔ کسی بھی ویب ایپلیکیشن فائلوں تک رسائی ممکن ہے، بشمول WEB-INF، META-INF اور ServletContext.getResourceAsStream() پر کال کے ذریعے فراہم کردہ دیگر ڈائریکٹریز کے مواد۔ AJP آپ کو ڈائریکٹریز میں کسی بھی فائل کو JSP اسکرپٹ کے طور پر ویب ایپلیکیشن کے لیے قابل رسائی استعمال کرنے کی بھی اجازت دیتا ہے۔

یہ مسئلہ 13 سال قبل جاری ہونے والی Tomcat 6.x برانچ کے بعد سے ظاہر ہو رہا ہے۔ سوائے ٹامکیٹ خود ایک مسئلہ ہے۔ متاثر کرتا ہے اور پروڈکٹس جو اسے استعمال کرتے ہیں، جیسے کہ Red Hat JBoss Web Server (JWS)، JBoss Enterprise Application Platform (EAP)، نیز خود ساختہ ویب ایپلیکیشنز جو استعمال کرتی ہیں۔ بہار بوٹ. اسی طرح کا خطرہ (CVE-2020-1745) موجودہ ویب سرور میں اگلی لہروائلڈ فلائی ایپلیکیشن سرور میں استعمال کیا جاتا ہے۔ JBoss اور Wildfly میں، AJP صرف domain.xml میں standalone-full-ha.xml، standalone-ha.xml اور ha/full-ha پروفائلز میں بطور ڈیفالٹ فعال ہے۔ اسپرنگ بوٹ میں، اے جے پی سپورٹ بطور ڈیفالٹ غیر فعال ہے۔ فی الحال، مختلف گروہوں نے کارناموں کی ایک درجن سے زیادہ مثالیں تیار کی ہیں (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Tomcat ریلیز میں خطرے کو طے کیا گیا ہے۔ 9.0.31, 8.5.51 и 7.0.100 (6.x برانچ کی دیکھ بھال بند)۔ آپ ان صفحات پر ڈسٹری بیوشن کٹس میں اپ ڈیٹس کی دستیابی کو ٹریک کر سکتے ہیں: Debian, اوبنٹو, RHEL, Fedora, SUSE, FreeBSD. ایک کام کے طور پر، آپ Tomcat AJP کنیکٹر سروس کو غیر فعال کر سکتے ہیں (لوکل ہوسٹ سے سننے والے ساکٹ کو باندھ سکتے ہیں یا کنیکٹر پورٹ = "8009" کے ساتھ لائن پر تبصرہ کریں) اگر ضرورت نہ ہو، یا سیٹ اپ کریں "خفیہ" اور "پتہ" صفات کا استعمال کرتے ہوئے تصدیق شدہ رسائی، اگر سروس کا استعمال mod_jk اور mod_proxy_ajp پر مبنی دوسرے سرورز اور پراکسیز کے ساتھ تعامل کے لیے کیا جاتا ہے (mod_cluster تصدیق کی حمایت نہیں کرتا ہے)۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں