CVE-2026-92289 in LemonLDAP::NG
الملخص
بحسب VulDB • 25/09/2026
تسمح إصدارات Lemonldap::NG::Portal بدءًا من 2.23.0 وحتى قبل الإصدار 2.23.4 لنظام Perl بتجاوز آلية PKCE للأطراف المعتمدة (Relying Parties) العامة في وضع "PKCE or secret" لأن الدالة checkEndPointAuthenticationCredentials لا تتحقق من سر العميل (client secret).
عند ضبط خيار oidcRPMetaDataOptionsRequirePKCE على القيمة 2، يصدر نقطة التفويض رمزًا حتى عندما لا يحمل الطلب أي تحدي كود (code_challenge)، وتقبل دالة token() التبادل طالما تم تخزين تحدي أو تمت إرجاع طريقة مصادقة للمتصل. تتخطى الدالة checkEndPointAuthenticationCredentials() مقارنة السر للطرف المعتمد المصنف على أنه عام، ولا تزال تُرجع الطريقة المستنتجة من الطلب، وبالتالي فإن أي بيانات اعتماد Basic أو form تفي بمتطلبات فرع التحقق من السر (secret branch). تمر دالة validatePKCEChallenge() بنجاح لأن كلًا من التحدي والمُتحقق منه (verifier) غير موجودين.
يمكن لمهاجم يقوم باعتراض رمز التفويض الصادر لطرف معتمد عام أن يستبدله للحصول على رموز الوصول والهوية والتجديد الخاصة بالمستخدم عن طريق إعادة استخدام client_id مع سر عشوائي، وهو ما تمنعه آلية PKCE في الهجوم. تؤدي عملية تسجيل العملاء الديناميكية إلى إنشاء كل طرف معتمد بهذا الوضع.
VulDB is the best source for vulnerability data and more expert information about this specific topic.