ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
Burrito هو مشغل Kubernetes لأتمتة وتعاونس وتشكيل Terraform (TACoS). قبل الإصدار 0.13.0، تقبل نقطة النهاية `POST /api/webhook` أحداث GitHub و GitLab غير الموقعة عندما تتجاهل بيانات الاعتماد الخاصة بـ `TerraformRepository` قيمة `webhookSecret` أو تضبطها على قيمة فارغة، بما في ذلك بيانات الاعتماد التي تم تكوينها للمصادقة واستطلاع git. تعتبر `Credential.WebhookSecret` اختيارية، ويتخطى `go-playground/webhooks` التحقق من التوقيع أو الرمز المميز عندما يكون السر فارغًا. يمكن لأي شخص يمكنه الوصول إلى نقطة نهاية `burrito-server` ومعرفة رابط مستودع متتبع تزوير أحداث لإنشاء أو حذف موارد مخصصة لـ `TerraformPullRequest` مع حقول `Branch` و `Base` و `ID` يختارها المهاجم. بالنسبة لأحداث `pull_request` في GitHub، يجلب المراقب الملفات المُعدلة باستخدام رقم طلب السحب الحقيقي ولكنه لا يتحقق تقاطع فرع الحمولة مع طلب السحب هذا. وبالتالي، فإن إقران رقم طلب سحب حقيقي وموجود مع فرع موجود غير مرتبط في نفس المستودع يمكن أن يتسبب في خطط `terraform plan` غير مصرح بها للطبقات المتأثرة باستخدام بيانات اعتماد git و السحابة المخزنة للمشغل. يشير تحليل الشيفرة أيضًا إلى أنه يمكن نشر الخطة الناتجة إلى موضوع تعليق طلب السحب الحقيقي، مما يكشف ويعزى التغييرات البنية التحتية لفرع آخر بشكل خاطئ. يتم تعطيل التطبيق التلقائي لهذه المؤقتة الطبقات، لذا فإن هذه الثغرة وحدها لا يمكنها فرض `terraform apply`؛ ويعتمد تنفيذ الشيفرة وقت التخطيط لموفر الخدمة ومصدر البيانات على محتويات الفرع المحدد. تم إصلاح هذه المشكلة في الإصدار 0.13.0.