CVE-2026-75866 in Punk::OAuth2::Serverالمعلومات

الملخص

بحسب VulDB • 22/08/2026

تُظهر الإصدارات السابقة من 0.03 لمكتبة `Punk::OAuth2::Server` في بيئة Perl مشكلة تتمثل في إصدار رموز الوصول (access tokens) خارج النطاقات المسجلة للعميل وأنواع التفويض المسموح بها، وذلك لعدم وجود مسار تفويض يقوم بقراءتها والتحقق منها.

تقوم مكتبة `Punk::OAuth2::Server::Store` بتسجيل نطاقات الأنظمة (`scopes`) وأنواع التفويض (`grant_types`) لكل عميل وتوثيقهما ضمن تسجيل العميل. يتم توجيه إصدار الرموز بناءً على نوع التفويض الموجود في جسم الطلب (request body). وبالتالي، يمكن لعميل مسجل فقط لنوع `authorization_code` أن يطلب الحصول على رمز من نوع `client_credentials`. تمر هذه المسار النطاق المطلوب مباشرة إلى مُنشئ الرمز (minter)، الذي يوقّعه ليصبح جزءاً من رمز الوصول المشفر بصيغة JWT (`at+jwt`). يقوم دالة التفويض (`authorize`) بنسخ نطاق الاستعلام (`query scope`) إلى سجل كود التفويض دون مقارنته بالتسجيل المسجل، مما يجعل خطاف الموافقة الاختياري (consent hook) هو الضابط الوحيد بين النطاق التعسفي والكود المُصدر. ومع ذلك، يتم قراءة فرضية `redirect_uris` الموجودة في نفس صف العميل وإنفاذها.

يمكن لعميل مسجل الحصول على رمز موقع بشكل صحيح يحمل أي نطاق يحدده، ويقبل خادم الموارد الذي يشغل مكتبة `Punk::OAuth2::Checker` هذا الرمز ويحترم النطاق المحدد فيه. عميل غير مسجل بسرية (secret) يقوم بالمصادقة باستخدام معرف العميل (`client_id`) فقط، لذا يمكن لأي شخص يعرف ذلك المعرف أن يطلب الحصول على رمز.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

CPANSec

حجز

18/08/2026

إفشاء

22/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-394332

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you know our Splunk app?

Download it now for free!