
Exploit-PoC und verwundbarer Admission-Webhook für CVE-2026-5556, die eine Umgehung des Kubernetes-Admission-Controllers anhand eines case-sensitiven Pod-Namen-Vergleichs demonstrieren, der die unbefugte Erstellung von Pods ermöglicht.
#!/usr/bin/env python3
# admission_webhook.py - Vulnerable webhook that rejects pods with specific name
from flask import Flask, request, jsonify
app = Flask(__name__)
DENIED_POD_NAMES = ["kube-system-svc", "admin-pod"]
@app.route('/validate', methods=['POST'])
def validate():
req = request.get_json()
pod_name = req["request"]["object"]["metadata"]["name"]
# Flaw: case‑sensitive comparison
if pod_name in DENIED_POD_NAMES:
return jsonify({"response": {"allowed": False, "status": {"message": "Name denied"}}})
return jsonify({"response": {"allowed": True}})
if __name__ == '__main__':
app.run(port=443, ssl_context='adhoc') # using self-signed cert for demo
Ein Admission-Webhook, der Pod-Namen validiert, verwendet bei der Prüfung gegen eine Sperrliste einen Vergleich, der die Groß-/Kleinschreibung beachtet. Ein Angreifer kann die Einschränkung umgehen, indem er die Schreibweise des Pod-Namens ändert, da Kubernetes Namen in ihrer ursprünglichen Schreibweise beibehält, aber häufig Vergleiche ohne Beachtung der Groß-/Kleinschreibung durchführt, was zur unbefugten Erstellung von Pods führen kann.
python admission_webhook.py
python exploit_admission_bypass.py