
دليل إرشادي: حقن الإعدادات في ingress-nginx عبر التعليق التوضيحي rewrite-target
الكلمات المفتاحية: CVE-2026-3288, ثغرة ingress-nginx, أمان Kubernetes, حقن إعدادات nginx, تعليق rewrite-target التوضيحي, RCE, كشف الأسرار, CWE-20, CAPEC-176, ثغرة ingress-nginx CVE 2026, اختراق مجموعة Kubernetes
تم اكتشاف مشكلة أمنية في ingress-nginx حيث يمكن استخدام تعليق Ingress التوضيحي nginx.ingress.kubernetes.io/rewrite-target لحقن إعدادات في nginx. يمكن أن يؤدي ذلك إلى تنفيذ أكواد تعسفية في سياق وحدة التحكم ingress-nginx، وكشف الأسرار (Secrets) التي يمكن لوحدة التحكم الوصول إليها. (لاحظ أنه في التثبيت الافتراضي، يمكن لوحدة التحكم الوصول إلى جميع الأسرار على مستوى المجموعة.)
اكتشفها: Kai Aizen
تاريخ النشر: 9 مارس 2026
درجة CVSS: 8.8 (عالية)
CWE: CWE-20 — التحقق غير السليم من المدخلات
CAPEC: CAPEC-176 — التلاعب بالإعدادات/البيئة
المكوّن: ingress-nginx
نوع الهجوم: حقن إعدادات nginx عبر تعليق Ingress التوضيحي
الصلاحيات المطلوبة: منخفضة (PR:L)
تعليق Ingress التوضيحي nginx.ingress.kubernetes.io/rewrite-target مخصص لتعديل مسار الطلب قبل إعادة توجيهه إلى الخدمات العلوية. ومع ذلك، فإن التنفيذ الحالي يسمح بحقن توجيهات إعدادات تعسفية مباشرة في إعدادات nginx الأساسية.
يمكن للمهاجم الذي لديه القدرة على إنشاء أو تعديل موارد Ingress استغلال ذلك من أجل:
| مجال التأثير | الخطورة |
|---|---|
| السرية | عالية — كشف كامل للأسرار (على مستوى المجموعة في الإعداد الافتراضي) |
| السلامة | عالية — تنفيذ أكواد تعسفية في سياق وحدة التحكم |
| التوافر | عالية — اختراق كامل لوحدة التحكم ingress-nginx |
المشكلة الأساسية هي أن ingress-nginx يعالج قيمة تعليق rewrite-target التوضيحي دون تحقق كافٍ من المدخلات، مما يسمح بكتابة محتوى يتحكم فيه المهاجم مباشرة في إعدادات nginx. وهذه ثغرة حقن إعدادات — حيث يُتعامل مع قيمة التعليق التوضيحي كمسار إعادة كتابة بسيط، ولكنها قد تحتوي على توجيهات nginx تعسفية.
يمكن الوصول إلى الثغرة من قبل أي مستخدم لديه صلاحيات إنشاء أو تعديل موارد Ingress في مجموعة تعمل بـ ingress-nginx. يتطلب الهجوم:
تنتمي هذه الثغرة إلى فئة راسخة من ثغرات حقن التعليقات التوضيحية في ingress-nginx:
النمط المتكرر: تتدفق قيم التعليقات التوضيحية إلى إعدادات nginx دون تعقيم كافٍ. تعليقات توضيحية مختلفة، السبب الجذري نفسه.
| الفرع | النسخ الضعيفة | النسخ المُصلَحة |
|---|---|---|
| 1.13.x | < 1.13.8 | 1.13.8 |
| 1.14.x | < 1.14.4 |
# Check if ingress-nginx is installed
kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
# Check ingress-nginx version
kubectl exec -n ingress-nginx \
$(kubectl get pods -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx -o jsonpath='{.items[0].metadata.name}') \
-- /nginx-ingress-controller --version
إذا لم يكن ingress-nginx مثبتًا على مجموعتك، فأنت غير متأثر.
قم بترقية ingress-nginx إلى الإصدار المُصلَح لفرعك:
# Using Helm
helm upgrade ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--version <patched-chart-version>
راجع وثائق الترقية الرسمية: ترقية Ingress-nginx
استخدم التحكم في القبول (Admission Control) لحظر استخدام تعليق rewrite-target التوضيحي حتى تتمكن من الترقية:
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: block-rewrite-target
webhooks:
- name: block-rewrite-target.security.local
rules:
- apiGroups: ["networking.k8s.io"]
apiVersions: ["v1"]
operations: ["CREATE", "UPDATE"]
resources: ["ingresses"]
clientConfig:
# Point to a webhook service that rejects Ingress resources
# containing the rewrite-target annotation
قد تشير البيانات المشبوهة داخل حقل rules.http.paths.path في مورد Ingress إلى محاولة لاستغلال هذه الثغرة.
# Check for suspicious Ingress annotations
kubectl get ingress --all-namespaces -o json | \
jq '.items[] | select(.metadata.annotations["nginx.ingress.kubernetes.io/rewrite-target"] != null) | {namespace: .metadata.namespace, name: .metadata.name, rewrite: .metadata.annotations["nginx.ingress.kubernetes.io/rewrite-target"]}'
إذا وجدت دليلًا على استغلال هذه الثغرة، تواصل مع [email protected].
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
| التاريخ | الحدث |
|---|---|
| — | تم اكتشاف الثغرة والإبلاغ عنها إلى لجنة استجابة أمان Kubernetes |
| 9 مارس 2026 | تم نشر الاستشارة الأمنية |
| 9 مارس 2026 | تم إصدار الإصدارات المُصلَحة (1.13.8, 1.14.4, 1.15.0) |
| 9 مارس 2026 | تم تعيين CVE-2026-3288 |
الباحث: Kai Aizen — SnailSploit
شكر وتقدير: Tabitha Sable نيابة عن لجنة استجابة أمان Kubernetes
تُقدَّم هذه المعلومات لأغراض البحث الأمني والأغراض الدفاعية فقط. أي استغلال لهذه الثغرة لأغراض ضارة غير قانوني وغير أخلاقي. احصل دائمًا على إذن مناسب قبل اختبار أنظمة لا تملكها.
للاستفسارات أو معلومات إضافية حول هذه الثغرة:
آخر تحديث: 10 مارس 2026
تجد الشرح الكامل لهذا المشروع، والمنهجية، والأبحاث ذات الصلة على:
https://snailsploit.com/security-research/cves/cve-2026-3288/
أُنشئ بواسطة Kai Aizen — باحث أمن هجومي مستقل.
snailsploit.com · الأبحاث · الأطر · GitHub · LinkedIn · ResearchGate · X/Twitter
نفس الهجوم. ركيزة مختلفة.
| CVE | السنة | التعليق التوضيحي | التأثير |
|---|
| CVE-2021-25746 | 2022 | تعليقات توضيحية متنوعة | حقن توجيهات |
| CVE-2023-5044 | 2023 | permanent-redirect | حقن أكواد |
| CVE-2024-7646 | 2024 | تجاوز التحقق من التعليقات التوضيحية | تجاوز التحقق |
| CVE-2026-3288 | 2026 | rewrite-target | RCE + كشف الأسرار |
| 1.14.4 |
| 1.15.x | < 1.15.0 | 1.15.0 |
| المقياس | القيمة |
|---|
| ناقل الهجوم | شبكة (AV:N) |
| تعقيد الهجوم | منخفض (AC:L) |
| الصلاحيات المطلوبة | منخفضة (PR:L) |
| تفاعل المستخدم | لا شيء (UI:N) |
| النطاق | غير متغير (S:U) |
| السرية | عالية (C:H) |
| السلامة | عالية (I:H) |
| التوافر | عالية (A:H) |