CVE-2026-33186
ثغرة تجاوز للتحقق من الصلاحيات في gRPC-Go عبر غياب الشرطة المائلة البادئة في مسار :path
- تم النشر
- 20/03/2026
- محدث
- 18/09/2026
- تخصيص CNA
- GitHub_M
- الأدلة المرصودة
- 17/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Nمنخفض · الثلاثين يومًا القادمة
- المئوية
- 73.7%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
gRPC-Go هو تطبيق لغة Go لبروتوكول gRPC. الإصدارات السابقة للإصدار 1.79.3 تحتوي على ثغرة تجاوز للصلاحيات ناتجة عن التحقق غير السليم من مدخلات الترويسة الزائفة `:path` الخاصة بـ HTTP/2. كان خادم gRPC-Go متساهلاً للغاية في منطق التوجيه الخاص به، حيث كان يقبل الطلبات التي تفتقد فيها `:path` إلى الشرطة المائلة الافتتاحية الإلزامية (مثل `Service/Method` بدلاً من `/Service/Method`). بينما نجح الخادم في توجيه هذه الطلبات إلى المعالج الصحيح، فإن وسطاء التفويض (بما في ذلك حزمة `grpc/authz` الرسمية) كانوا يقيّمون سلسلة المسار الخام غير المقنّنة. ونتيجة لذلك، فإن قواعد "الرفض" المحددة باستخدام مسارات مقنّنة (تبدأ بـ `/`) فشلت في مطابقة الطلب الوارد، مما سمح له بتجاوز السياسة إذا كانت هناك قاعدة "سماح" احتياطية موجودة. يؤثر هذا على خوادم gRPC-Go التي تستخدم وسطاء تفويض قائمين على المسار، مثل تنفيذ RBAC الرسمي في `google.golang.org/grpc/authz` أو الوسطاء المخصصين الذين يعتمدون على `info.FullMethod` أو `grpc.Method(ctx)`؛ وأيضاً تلك التي لديها سياسة أمان تحتوي على قواعد "رفض" محددة للمسارات المقنّنة ولكنها تسمح بطلبات أخرى افتراضياً (قاعدة "سماح" احتياطية). يمكن استغلال الثغرة من قبل مهاجم قادر على إرسال إطارات HTTP/2 خام مع ترويسات `:path` مشوهة مباشرة إلى خادم gRPC. يضمن الإصلاح في الإصدار 1.79.3 أن أي طلب يحتوي على `:path` لا يبدأ بشرطة مائلة افتتاحية يتم رفضه فوراً مع خطأ `codes.Unimplemented`، مما يمنع وصوله إلى وسطاء التفويض أو المعالجات بسلسلة مسار غير مقنّنة. بينما يعتبر الترقية هو المسار الأكثر أماناً والموصى به، يمكن للمستخدمين التخفيف من الثغرة باستخدام إحدى الطرق التالية: استخدام وسيط تحقق (تخفيف موصى به)؛ التطبيع على مستوى البنية التحتية؛ و/أو تقوية السياسة.
المصادر
1تجاوز سياسة التخويل في gRPC-Go RBAC عبر غياب الشرطة المائلة في `:path` (تجاوز المصادقة)
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.