CVE-2026-24512

8.8 HIGH

📋 TL;DR

This CVE describes a configuration injection vulnerability in ingress-nginx where attackers can inject malicious nginx configuration through the `rules.http.paths.path` field. This allows arbitrary code execution within the ingress-nginx controller and disclosure of all cluster-wide Secrets in default installations. All Kubernetes clusters using ingress-nginx are affected.

💻 Affected Systems

Products:
  • ingress-nginx
  • Kubernetes
Versions: All versions before the fix
Operating Systems: All platforms running ingress-nginx
Default Config Vulnerable: ⚠️ Yes
Notes: Default installations where ingress-nginx has cluster-wide Secret access are most vulnerable. The vulnerability requires ability to create or modify Ingress resources.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full cluster compromise via arbitrary code execution as ingress-nginx controller, leading to complete Secret disclosure, lateral movement, and resource hijacking.

🟠

Likely Case

Unauthorized access to sensitive Secrets and potential privilege escalation within the cluster.

🟢

If Mitigated

Limited impact if proper network policies, RBAC restrictions, and admission controllers are in place to restrict ingress-nginx permissions.

🌐 Internet-Facing: HIGH - Ingress controllers are typically internet-facing, making them prime targets for exploitation.
🏢 Internal Only: MEDIUM - Internal attackers with access to create/modify Ingress resources could exploit this vulnerability.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access to create/modify Ingress resources. The vulnerability is straightforward to exploit once an attacker gains appropriate permissions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check Kubernetes/ingress-nginx security advisories for specific patched versions

Vendor Advisory: https://github.com/kubernetes/kubernetes/issues/136678

Restart Required: Yes

Instructions:

1. Update ingress-nginx to the latest patched version. 2. Update Kubernetes to a version that includes the fix. 3. Restart ingress-nginx controller pods. 4. Validate the fix by testing path injection attempts.

🔧 Temporary Workarounds

Restrict Ingress Creation Permissions

all

Limit who can create or modify Ingress resources using RBAC to reduce attack surface

kubectl create rolebinding restricted-ingress --clusterrole=edit --user=trusted-user --namespace=production

Implement Admission Controller Validation

all

Use OPA Gatekeeper or Kyverno to validate Ingress paths and reject malicious configurations

# Example OPA Gatekeeper constraint for path validation
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sRequiredLabels
metadata:
  name: ingress-path-validation
spec:
  match:
    kinds:
      - apiGroups: ["networking.k8s.io"]
        kinds: ["Ingress"]
  parameters:
    labels:
      - key: "path-validation"
        allowedRegex: "^/[a-zA-Z0-9\-._~!$&'()*+,;=:@]+$"

🧯 If You Can't Patch

  • Implement strict RBAC controls to limit who can create/modify Ingress resources
  • Deploy network policies to restrict ingress-nginx controller's network access and reduce lateral movement potential

🔍 How to Verify

Check if Vulnerable:

Test if you can create an Ingress with a path containing nginx configuration directives like `~*` or `proxy_pass`

Check Version:

kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep Image

Verify Fix Applied:

Attempt to create a malicious Ingress with nginx directives in the path field - it should be rejected or sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual nginx configuration reloads
  • Ingress resources with suspicious path patterns containing nginx directives
  • Failed attempts to inject configuration

Network Indicators:

  • Unexpected outbound connections from ingress-nginx pods
  • Unusual access patterns to Kubernetes API server from ingress-nginx

SIEM Query:

source="kubernetes" AND ("ingress" AND ("path" CONTAINS "proxy_pass" OR "path" CONTAINS "rewrite" OR "path" CONTAINS "~")

🔗 References

📤 Share & Export