
أداة اختبار لـ cve-2018-1002105
أداة اختبار تتحقق من المجموعة (cluster) للثغرة ذات الخطورة العالية في Kubernetes المنشورة هنا. يمكن العثور على شرح على مستوى أصحاب المصلحة لـ CVE-2018-1002105 على https://gravitational.com/blog/kubernetes-websocket-upgrade-security-vulnerability/
تشغيل هذا الاختبار عبر موازنات التحميل (load balancers) من الطبقة 7 أو البروكسيات أمام خادم API الخاص بـ Kubernetes قد يكون غير موثوق ويؤدي إلى نتائج غير صحيحة. يعمل هذا الاختبار عن طريق الاتصال بخادم API والتحقق من الآثار الجانبية التي تُظهر الثغرة في Kubernetes. قد يؤدي تشغيل هذا الإثبات للمفهوم عبر موازن تحميل من الطبقة 7 إلى إشارة خاطئة إلى أن API معرض لـ CVE-2018-1002105
هذه الأداة تميل نحو النتائج الإيجابية الخاطئة، إذا كان API الخاص بـ Kubernetes مقدمًا من مزود سحابي رئيسي (مثل Amazon AWS EKS، Google Cloud GKE أو Microsoft Azure AKS)، فإن مزود الخدمة هذا قد قام بالتأكيد تقريبًا بتصحيح خادم API الخاص بك ولم تعد متأثرًا بـ CVE-2018-1002105. نرحب بـ pull requests التي تحسن اكتشاف نقاط نهاية خادم API غير المعرضة للخطر.
go get github.com/gravitational/cve-2018-1002105
cd $GOPATH/src/github.com/gravitational/cve-2018-1002105
go run main.go
docker run -it --rm -v $HOME/.kube/config:/kubeconfig: quay.io/gravitational/cve-2018-1002105:latest
ستحاول الأداة اختبار أمرين: ما إذا كانت المجموعة تسمح بالوصول غير المصادق عليه إلى API، مما سيسمح بعد ذلك بالوصول غير المصادق عليه إلى نقطة نهاية API المجمعة. وستحاول أيضًا العثور على بود (pod)، ومحاولة اختبار ما إذا كان خادم API سيترك الاتصال مفتوحًا عند طلب مشوه، مما يشير إلى أن المجموعة عرضة لـ CVE-2018-1002105.
Testing for unauthenticated access...
> API allows unauthenticated access
Testing for privilege escalation...
> API is vulnerable to CVE-2018-1002105
إذا رأيت API allows unauthenticated access فهذا يشير إلى أن الاختبار كان قادرًا على اكتشاف وصول غير مصادق عليه إلى المجموعة. هذا الاختبار أساسي إلى حد ما، لكنه يجب أن يكتشف تكوينًا افتراضيًا حيث يُسمح بالوصول المجهول إلى المجموعة.
إذا رأيت API is vulnerable to CVE-2018-1002105، فهذا يعني أنه باستخدام kubeconfig المقدم، تمكنت الأداة من اختبار وتأكيد أن مجموعتك معرضة للخطر.