
تخزين مواد الترخيص الحساسة بنص واضح في ذاكرة العملية في برنامج Abacre Restaurant Point of Sale (POS)
توجد ثغرة في الإصدارات <= 15.0.0.1656 من Abacre Restaurant Point of Sale (POS) حيث يتم تخزين بيانات الترخيص الحساسة بنصٍّ صريح في ذاكرة العملية أثناء سير عمل تنشيط البرنامج.
أثناء إجراء تنشيط الترخيص، يقوم التطبيق بتوليد ومعالجة مفاتيح ترخيص مرتبطة بالجهاز تهدف إلى التحقق من تثبيت البرنامج مقابل جهاز معيّن. ومع ذلك، يتم تخصيص هذه القيم في ذاكرة العملية دون حماية كافية أو آليات آمنة للتعامل مع الذاكرة.
ونظرًا لأن هذه القيم تبقى في الذاكرة بشكلها الصريح، يمكن لمهاجم يتمتع بوصول محلي إرفاق مصحح أخطاء (debugger) بالعملية الجارية واستخراج مواد الترخيص مباشرةً من الذاكرة.
وهذا يتيح استعادة مفاتيح ترخيص صالحة يمكن بعد ذلك إعادة استخدامها لتنشيط البرنامج على نفس الجهاز دون شراء ترخيص.
المنتج: Abacre Restaurant Point of Sale (POS)
البائع: Abacre Limited
الإصدارات المتأثرة: <= 15.0.0.1656
الضعف الأساسي:
الضعف ذو الصلة:
أثناء روتين التنشيط، ينفذ تطبيق نقاط البيع (POS) العمليات التالية:
لا يطبّق التطبيق حمايات مثل:
ونتيجةً لذلك، يمكن استخراج مفتاح الترخيص باستخدام تقنيات الهندسة العكسية الشائعة.
تحدث المشكلة أثناء محاولة تنشيط الترخيص، عندما يعالج التطبيق مواد الترخيص ويتحقق منها.
في هذه المرحلة:
يتم تخزين جميعها مؤقتًا في ذاكرة العملية دون إخفاء أو حماية.
يمكن لمهاجم يتمتع بوصول محلي إلى الجهاز تنفيذ الخطوات التالية:
ونظرًا لأن مفتاح الترخيص مخزّن في ذاكرة بنص صريح، يمكن استخراجه مباشرةً من مساحة ذاكرة العملية.
ويمكن بعد ذلك إعادة استخدام المفتاح المستخرج لتنشيط البرنامج على نفس الجهاز دون شراء ترخيص.
تظهر الصور التالية مخرجات مصحح الأخطاء وفحص ذاكرة وقت التشغيل حيث تكون مفاتيح الترخيص مرئية في ذاكرة العملية أثناء التنشيط.
![دليل تحليل الذاكرة] 
![عرض ذاكرة مصحح الأخطاء]
توضح الصور التالية التنشيط الناجح باستخدام مفتاح الترخيص المستعاد.
![لقطة شاشة للبرنامج بعد التنشيط]
![تأكيد التنشيط]
![حالة واجهة المستخدم بعد التنشيط]
يسمح الاستغلال الناجح للمهاجم بـ:
وفي حين تؤثر هذه المشكلة بشكل أساسي على سلامة ترخيص البرنامج، فإنها تُظهر معالجة غير سليمة للمعلومات الحساسة في الذاكرة.
تنتج الثغرة عن التعامل غير الآمن مع بيانات الترخيص الحساسة في الذاكرة. وتحديدًا:
لمنع ثغرات مماثلة، ينبغي على البائع:
| التاريخ | الحدث |
|---|---|
| 2025 | اكتشاف الثغرة |
| 2025 | إخطار البائع |
| 2025 | تعيين CVE |