George0Papasotiriou/CVE-2026-5556-Kubernetes-Admission-Controller-Bypass-via-Case-Sensitivity

GitHub: George0Papasotiriou/CVE-2026-5556-Kubernetes-Admission-Controller-Bypass-via-Case-Sensitivity

该项目是 CVE-2026-5556 的 PoC,演示通过修改 pod 名称大小写绕过 Kubernetes Admission Controller 区分大小写的名称校验漏洞。

Stars: 0 | Forks: 0

## CVE-2026-5556 – 通过大小写敏感性绕过 Kubernetes Admission Controller ### **程序代码(Python admission webhook + exploit)** ``` #!/usr/bin/env python3 # admission_webhook.py - 拒绝具有特定名称的 pod 的易受攻击的 webhook 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 ``` # CVE-2026-5556 – Kubernetes Admission Controller 大小写敏感性绕过 ![严重性:高](https://img.shields.io/badge/severity-high-orange) ## 概述 一个用于验证 pod 名称的 admission webhook 针对拒绝列表(deny-list)使用了区分大小写的字符串匹配。攻击者可以通过更改 pod 名称的大小写来绕过限制,因为 Kubernetes 会保留名称的大小写,但通常执行不区分大小写的查找,从而导致未经授权的 pod 创建。 ## 漏洞详情 - **类型:** 访问控制绕过 - **影响:** 部署特权或受限 pod,可能导致集群被攻破。 - **根本原因:** webhook 对 pod 名称进行精确比较,但 Kubernetes API 可能接受仅大小写不同的相同名称,而其他组件会将它们视为等效。 ## Exploit 演示 1. 启动 admission webhook: python admission_webhook.py 2. 发送一个带有更改大小写名称的 pod 创建请求: python exploit_admission_bypass.py
标签:Homebrew安装, Maven, Python, 准入控制器, 子域名突变, 安全漏洞, 无后门, 漏洞验证, 访问控制绕过, 逆向工具