Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
milvus-auth-audit — Script de détection de sécurité d'authentification Milvus : CVE-2025-64513 (backdoor sourceid) / CVE-2026-26190 (token faible /expr) / port interne 53100 | Kitploit
Outils/GitHubGitHub/qianlijaingshan/milvus-auth-audit
Authentification et AutorisationScanners de VulnérabilitésExploitationTests de Sécurité des APITests d'IntrusionMauvaise ConfigurationSécurité des Bases de Données
GitHubqianlijaingshan/milvus-auth-audit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

milvus-auth-audit

Script de détection de sécurité d'authentification Milvus : CVE-2025-64513 (backdoor sourceid) / CVE-2026-26190 (token faible /expr) / port interne 53100

Voir le dépôt
il y a 15 joursPas encore vérifié

milvus-auth-audit

Script de détection de sécurité d'authentification Milvus. Détecte trois défauts d'authentification :

DéfautCVEVersions affectéesMéthode de détection
Contournement d'authentification par backdoor sourceidCVE-2025-64513< 2.4.24 / < 2.5.21 / < 2.6.5gRPC ListDatabases + injection sourceid
Jeton faible /expr sur le port d'administrationCVE-2026-26190< 2.5.27 / < 2.6.10HTTP /expr?code=1%2B1&auth=by-dev (le paramètre code doit être encodé en URL)
Port interne rootcoord 53100 sans authentification—< 2.6.10 (plus écouté depuis 2.6.10)Connexion directe gRPC à RootCoordService

Utilisation

root@kitploit:~
# proxy 层检测(sourceid 后门 + /expr 弱 token)
python3 milvus-auth-audit.py --host 127.0.0.1 --port 19530 --mgmt-port 9091

# 完整检测(含内部端口,需容器网络内可达)
python3 milvus-auth-audit.py --host <容器IP> --port 19530 --mgmt-port 9091 --internal-port 53100

Paramètres :

  • --host : adresse du proxy Milvus
  • --port : port gRPC du proxy (défaut 19530)
  • --mgmt-port : port d'administration (défaut 9091, /expr s'y trouve)
  • --internal-port : port interne (rootcoord défaut 53100, passer 0 pour ignorer)
  • --cve-check : affiche les informations sur les versions affectées par les CVE

Dépendances

root@kitploit:~
pip install grpcio protobuf

Les appels gRPC nécessitent le code Python généré à partir des définitions proto (milvus_pb2_grpc.py, root_coord_pb2_grpc.py, etc.), placé dans le sous-répertoire proto/ du répertoire du script. Génération :

root@kitploit:~
# 1. 拉 milvus-proto 仓库
git clone https://github.com/milvus-io/milvus-proto.git
# 2. 拉 milvus 源码(内部 proto:root_coord.proto / internal.proto / proxy.proto 等)
git clone https://github.com/milvus-io/milvus.git
# 3. 生成(milvus 内部 proto 在 milvus/pkg/proto/ 下)
pip install grpcio-tools
python3 -m grpc_tools.protoc -I milvus-proto/proto -I milvus/pkg/proto \
  --python_out=proto --grpc_python_out=proto \
  milvus-proto/proto/milvus.proto milvus/pkg/proto/root_coord.proto \
  milvus/pkg/proto/internal.proto milvus/pkg/proto/proxy.proto

Sortie de détection pour trois versions

root@kitploit:~
=== 2.6.4 ===
[*] 目标: 172.22.0.4:19530  管理端口: 9091
[check] 认证状态: 已开启认证(authorizationEnabled=true)
[verify] sourceid 后门绕过认证, 数据库=['default']  -> HIT
[verify] /expr 任意表达式执行 (auth=by-dev)   -> HIT
[exploit] 内部端口未认证, 数据库=['default']  -> HIT
[!] 发现 3 个可利用认证缺陷

=== 2.6.5 ===
[check] 认证状态: 已开启认证(authorizationEnabled=true)
[verify] sourceid 被拒绝  -> SAFE
[verify] /expr 任意表达式执行 (auth=by-dev)   -> HIT
[exploit] 内部端口未认证, 数据库=['default']  -> HIT
[!] 发现 2 个可利用认证缺陷

=== 2.6.10 ===
[check] 认证状态: 已开启认证(authorizationEnabled=true)
[verify] sourceid 被拒绝  -> SAFE
[verify] /expr 已默认禁用  -> SAFE
[exploit] 端口不可达  -> SAFE
[+] 未发现认证缺陷

Résumé des mécanismes de vulnérabilité

  1. CVE-2025-64513 (backdoor sourceid) : dans internal/proxy/authentication_interceptor.go, validSourceID() vérifie le header sourceId ; lorsque sa valeur décodée en base64 est égale à @@milvus-member@@, toute la branche d'authentification est contournée. C'est un mécanisme de confiance entre composants internes (PerRPCCredentials de grpcclient/auth.go), mais sans validation de la source, il peut être falsifié de l'extérieur. Chaîne d'exploitation complète : sourceid + authorization=base64("root:假密码") = full admin (le proxy ignore la vérification et transmet la fausse identité telle quelle).
  2. CVE-2026-26190 (jeton faible /expr) : le point de terminaison de débogage /expr du port d'administration 9091 utilise un jeton d'authentification provenant de etcd.rootPath (défaut by-dev), entièrement prévisible, permettant d'exécuter des expressions expr-lang arbitraires. Depuis 2.6.10, il est contrôlé par common.security.exprEnabled et désactivé par défaut.
  3. Port interne 53100 sans authentification : n'est enregistré que sur le proxy (19530), le serveur gRPC interne de rootcoord (53100) n'a pas d'authentification. Une connexion directe non authentifiée dans le réseau du conteneur suffit pour obtenir full admin. Depuis 2.6.10, ce port n'écoute plus.

Avertissement

À utiliser uniquement pour des tests de sécurité dans des environnements autorisés. Ne pas utiliser sur des systèmes non autorisés.

Télécharger l’outil
AuthenticationInterceptor