
Эксплойт PoC и уязвимый admission webhook для CVE-2026-5556, демонстрирующие обход Kubernetes admission controller через сравнение имён pod с учётом регистра, что позволяет несанкционированное создание pod.
#!/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
Admission webhook, который проверяет имена подов, выполняет регистрозависимое сравнение строк со списком запрещённых имён. Злоумышленник может обойти ограничение, изменив регистр имени пода, поскольку Kubernetes сохраняет регистр имён, но часто выполняет поиск без учёта регистра, что приводит к созданию несанкционированных подов.
python admission_webhook.py
python exploit_admission_bypass.py