
تفاصيل حول CVE-2018-16987 - تخزين نص واضح لكلمات مرور خوادم TA في Squash TM
هذه ثغرة في تخزين المعلومات الحساسة بنص واضح وكشف المعلومات الحساسة وجدتها في Squash TM أثناء اختبار اختراق.
Squash TM هو واجهة ويب تُستخدم لإدارة حالات الاختبار. رابط المشروع
يعرض Squash TM حتى الإصدار 1.18.0 على الأقل كلمات المرور النصية الصريحة للخدمات الخارجية في لوحة الإدارة، كما يظهر ذلك من خلال حقل ta-server-password في كود HTML المصدر.
في لوحة إدارة Squash TM، تحتوي صفحة الخدمات الخارجية (المعروفة أيضًا باسم خوادم الأتمتة) على كلمة مرور نصية صريحة لحساب الخدمة. يمكن أن تكون هذه الخدمات الخارجية أي شيء، لكن المثال الشائع هو خادم Jenkins.
فيما يلي مثال على URL: http://localhost:8080/squash/administration/test-automation-servers/1
فيما يلي مقتطف من كود المصدر للصفحة:
<label for="ta-server-password">Password</label>
<div id="ta-server-password" class="display-table-cell" style="font-weight: bold;">cleartext_password</div>
ولحدوث ذلك، فهذا يعني أيضًا أن كلمات المرور للخدمات الخارجية تُخزن كنص صريح، وهو ما أكدته من خلال البحث عن كلمة المرور في قاعدة البيانات (H2 و postgresql).
أيضًا، تتفاقم هذه الثغرة بسبب أن الإعدادات الافتراضية للتطبيق هي:
التسجيل المقترح: 4.1 (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N)
كمعلومة للباحثين المستقبليين، يتم تخزين كلمات مرور المستخدمين الفعليين كـ SHA1. ليس مثاليًا. قمت بمراجعة سريعة لقاعدة الشيفرة، يبدو أن جميع استعلامات SQL مسيَّجة بشكل صحيح (عبارات جاهزة). هناك بعض عمليات إزالة التسلسل (توليد التقارير ووظيفة البحث) من إدخال المستخدم غير المصفى (معاملات GET) باستخدام إصدار ضعيف من مكون Jackson ولكن لا يبدو أنها قابلة للاستغلال بسبب عدم وجود معالجة متعددة الأشكال.