Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-3288 — Walkthrough: ingress-nginx Configuration Injection via rewrite-target Annotation | Kitploit
Tools/GitHubGitHub/snailsploit/cve-2026-3288
Vulnerability AnalysisWeb Application ExploitationConfiguration AuditingCloud SecurityPapers & ResearchLearning & Education
GitHubsnailsploit/cve-2026-3288

CVE-2026-3288

Walkthrough: ingress-nginx Configuration Injection via rewrite-target Annotation

View Repository
213 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

CVE-2026-3288: ingress-nginx Configuration Injection via rewrite-target Annotation

CVE CVSS Score Kubernetes CWE-20 Advisory

Keywords: CVE-2026-3288, ingress-nginx vulnerability, Kubernetes security, nginx configuration injection, rewrite-target annotation, RCE, Secret disclosure, CWE-20, CAPEC-176, ingress-nginx CVE 2026, Kubernetes cluster compromise

Table of Contents

  • Overview
  • Vulnerability Details
  • Technical Analysis
  • Affected Versions
  • Remediation
  • Detection
  • CVSS Metrics
  • Timeline
  • References
  • Contact

Overview

A security issue was discovered in ingress-nginx where the nginx.ingress.kubernetes.io/rewrite-target Ingress annotation can be used to inject configuration into nginx. This can lead to arbitrary code execution in the context of the ingress-nginx controller, and disclosure of Secrets accessible to the controller. (Note that in the default installation, the controller can access all Secrets cluster-wide.)

Discovered by: Kai Aizen
Published: March 9, 2026
CVSS Score: 8.8 (High)
CWE: CWE-20 — Improper Input Validation
CAPEC: CAPEC-176 — Configuration/Environment Manipulation
Component: ingress-nginx
Attack Type: Nginx Configuration Injection via Ingress Annotation
Required Privileges: Low (PR:L)

Vulnerability Details

Description

The nginx.ingress.kubernetes.io/rewrite-target Ingress annotation is intended to modify the request path before it is forwarded to upstream services. However, the implementation allows injection of arbitrary configuration directives directly into the underlying nginx configuration.

An attacker with the ability to create or modify Ingress resources can leverage this to:

  • Execute arbitrary code in the context of the ingress-nginx controller
  • Read Secrets accessible to the controller
  • In the default installation, access all Secrets cluster-wide

Impact

Impact AreaSeverity
ConfidentialityHigh — Full Secret disclosure (cluster-wide in default config)
IntegrityHigh — Arbitrary code execution in controller context
AvailabilityHigh — Full compromise of ingress-nginx controller

Root Cause

The core issue is that ingress-nginx processes the rewrite-target annotation value without sufficient input validation, allowing attacker-controlled content to be written directly into the nginx configuration. This is a configuration injection vulnerability — the annotation value is trusted as a simple rewrite path but can contain arbitrary nginx directives.

Technical Analysis

Attack Surface

The vulnerability is reachable by any user with permissions to create or modify Ingress resources in a cluster running ingress-nginx. The attack requires:

  1. Ability to create/modify an Ingress resource
  2. The ingress-nginx controller must be running
  3. No additional user interaction required

Ingress-nginx Annotation Injection History

This vulnerability belongs to a well-established class of annotation injection bugs in ingress-nginx:

The recurring pattern: annotation values flow into nginx configuration without adequate sanitization. Different annotations, same root cause.

Affected Versions

BranchVulnerableFixed
1.13.x< 1.13.81.13.8
1.14.x< 1.14.4

Check If You're Affected

root@kitploit:~
# 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

If you do not have ingress-nginx installed on your cluster, you are not affected.

Remediation

Upgrade (Recommended)

Upgrade ingress-nginx to the patched version for your branch:

root@kitploit:~
# Using Helm
helm upgrade ingress-nginx ingress-nginx/ingress-nginx \
  --namespace ingress-nginx \
  --version <patched-chart-version>

Refer to the official upgrade documentation: Upgrading Ingress-nginx

Mitigation (If Upgrade Is Not Immediately Possible)

Use admission control to block the use of the rewrite-target annotation until you can upgrade:

root@kitploit:~
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

Detection

Suspicious data within the rules.http.paths.path field of an Ingress resource could indicate an attempt to exploit this vulnerability.

root@kitploit:~
# 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"]}'

If you find evidence that this vulnerability has been exploited, contact [email protected].

CVSS v3.1 Metrics

root@kitploit:~
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Timeline

DateEvent
—Vulnerability discovered and reported to Kubernetes Security Response Committee
March 9, 2026Security advisory published
March 9, 2026Patched versions released (1.13.8, 1.14.4, 1.15.0)
March 9, 2026CVE-2026-3288 assigned

References

  • Kubernetes Security Advisory
  • GitHub Issue — kubernetes/kubernetes#137560
  • NVD Entry
  • GHSA-c56h-j8gw-3v54
  • Ingress-nginx Upgrade Guide

Credits

Researcher: Kai Aizen — SnailSploit

Acknowledgement: Tabitha Sable on behalf of the Kubernetes Security Response Committee

Disclaimer

This information is provided for security research and defensive purposes only. Any exploitation of this vulnerability for malicious purposes is illegal and unethical. Always obtain proper authorization before testing systems you do not own.

Contact

For questions or additional information about this vulnerability:

  • Email: [email protected]
  • Website: snailsploit.com

Last updated: March 10, 2026


📚 Documentation & Author

This project's full writeup, methodology, and related research lives at:

https://snailsploit.com/security-research/cves/cve-2026-3288/

Created by Kai Aizen — independent offensive security researcher.

snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter

Same attack. Different substrate.

Download Tool
CVEYearAnnotationImpact
CVE-2021-257462022Various annotationsDirective injection
CVE-2023-50442023permanent-redirectCode injection
CVE-2024-76462024Annotation validation bypassValidation bypass
CVE-2026-32882026rewrite-targetRCE + Secret disclosure
1.14.4
1.15.x< 1.15.01.15.0
MetricValue
Attack VectorNetwork (AV:N)
Attack ComplexityLow (AC:L)
Privileges RequiredLow (PR:L)
User InteractionNone (UI:N)
ScopeUnchanged (S:U)
ConfidentialityHigh (C:H)
IntegrityHigh (I:H)
AvailabilityHigh (A:H)