
वॉकथ्रू: rewrite-target एनोटेशन के माध्यम से ingress-nginx कॉन्फ़िगरेशन इंजेक्शन
कीवर्ड: CVE-2026-3288, ingress-nginx भेद्यता, Kubernetes सुरक्षा, nginx कॉन्फ़िगरेशन इंजेक्शन, rewrite-target एनोटेशन, RCE, Secret प्रकटीकरण, CWE-20, CAPEC-176, ingress-nginx CVE 2026, Kubernetes क्लस्टर समझौता
ingress-nginx में एक सुरक्षा समस्या पाई गई है जहाँ nginx.ingress.kubernetes.io/rewrite-target Ingress एनोटेशन का उपयोग nginx में कॉन्फ़िगरेशन इंजेक्ट करने के लिए किया जा सकता है। इससे ingress-nginx कंट्रोलर के संदर्भ में मनमाना कोड निष्पादन, और कंट्रोलर के लिए सुलभ Secrets का प्रकटीकरण हो सकता है। (ध्यान दें कि डिफ़ॉल्ट इंस्टॉलेशन में, कंट्रोलर क्लस्टर-व्यापी सभी Secrets तक पहुँच सकता है।)
खोजकर्ता: Kai Aizen
प्रकाशित: 9 मार्च, 2026
CVSS स्कोर: 8.8 (उच्च)
CWE: CWE-20 — अनुचित इनपुट सत्यापन
CAPEC: CAPEC-176 — कॉन्फ़िगरेशन/पर्यावरण हेरफेर
घटक: ingress-nginx
हमले का प्रकार: Ingress एनोटेशन के माध्यम से Nginx कॉन्फ़िगरेशन इंजेक्शन
आवश्यक विशेषाधिकार: निम्न (PR:L)
nginx.ingress.kubernetes.io/rewrite-target Ingress एनोटेशन का उद्देश्य अनुरोध पथ को अपस्ट्रीम सेवाओं को अग्रेषित करने से पहले संशोधित करना है। हालाँकि, इसका कार्यान्वयन अंतर्निहित nginx कॉन्फ़िगरेशन में सीधे मनमाने कॉन्फ़िगरेशन निर्देशों के इंजेक्शन की अनुमति देता है।
Ingress संसाधन बनाने या संशोधित करने की क्षमता रखने वाला हमलावर इसका लाभ उठा सकता है:
| प्रभाव क्षेत्र | गंभीरता |
|---|---|
| गोपनीयता | उच्च — पूर्ण Secret प्रकटीकरण (डिफ़ॉल्ट कॉन्फ़िग में क्लस्टर-व्यापी) |
| अखंडता | उच्च — कंट्रोलर संदर्भ में मनमाना कोड निष्पादन |
| उपलब्धता | उच्च — ingress-nginx कंट्रोलर से पूर्ण समझौता |
मूल समस्या यह है कि ingress-nginx rewrite-target एनोटेशन मान को पर्याप्त इनपुट सत्यापन के बिना संसाधित करता है, जिससे हमलावर-नियंत्रित सामग्री को सीधे nginx कॉन्फ़िगरेशन में लिखा जा सकता है। यह एक कॉन्फ़िगरेशन इंजेक्शन भेद्यता है — एनोटेशन मान को एक सरल रीराइट पथ के रूप में विश्वसनीय माना जाता है, लेकिन इसमें मनमाने nginx निर्देश हो सकते हैं।
यह भेद्यता उस किसी भी उपयोगकर्ता द्वारा उपयोग योग्य है जिसके पास ingress-nginx चलाने वाले क्लस्टर में Ingress संसाधन बनाने या संशोधित करने की अनुमतियाँ हैं। इस हमले के लिए आवश्यक है:
यह भेद्यता ingress-nginx में एनोटेशन इंजेक्शन बगों के एक सुस्थापित वर्ग से संबंधित है:
आवर्ती पैटर्न: एनोटेशन मान पर्याप्त स्वच्छता (sanitization) के बिना 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 अपग्रेड करना
अपग्रेड करने तक 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
Ingress संसाधन के rules.http.paths.path फ़ील्ड में संदिग्ध डेटा इस भेद्यता का शोषण करने के प्रयास का संकेत दे सकता है।
# 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
आभार: Kubernetes सुरक्षा प्रतिक्रिया समिति की ओर से Tabitha Sable
यह जानकारी केवल सुरक्षा अनुसंधान और रक्षात्मक उद्देश्यों के लिए प्रदान की गई है। इस भेद्यता का दुर्भावनापूर्ण उद्देश्यों के लिए कोई भी शोषण अवैध और अनैतिक है। ऐसी प्रणालियों का परीक्षण करने से पहले हमेशा उचित प्राधिकरण प्राप्त करें जिनके आप स्वामी नहीं हैं।
इस भेद्यता के बारे में प्रश्नों या अतिरिक्त जानकारी के लिए:
अंतिम अद्यतन: 10 मार्च, 2026
इस प्रोजेक्ट का पूरा विवरण, कार्यप्रणाली और संबंधित शोध यहाँ उपलब्ध है:
https://snailsploit.com/security-research/cves/cve-2026-3288/
Kai Aizen द्वारा निर्मित — स्वतंत्र आक्रामक सुरक्षा शोधकर्ता।
snailsploit.com · Research · Frameworks · 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 + Secret प्रकटीकरण |
| 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) |