Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-15911-Confluent_Kafka — Vérification du certificat TLS désactivée pour HashiCorp Vault KMS dans confluent-kafka | Kitploit
Outils/GitHubGitHub/rahulreddykarne/cve-2026-15911-confluent_kafka
Outils DéfensifsAnalyse des VulnérabilitésVirtualisation de SécuritéCryptographieSécurité CloudArticles et RechercheApprentissage et Éducation
GitHubrahulreddykarne/cve-2026-15911-confluent_kafka

CVE-2026-15911-Confluent_Kafka

Vérification du certificat TLS désactivée pour HashiCorp Vault KMS dans confluent-kafka

Voir le dépôt
il y a 1 jourPas encore vérifié

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

CVE-2026-15911 : Vérification du certificat TLS désactivée pour HashiCorp Vault KMS dans confluent-kafka

Sévérité : Élevée, CVSS 3.1 7.4

Vecteur (v3.1) : CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

Affecté : confluent-kafka >= 2.8.0, <= 2.14.2

Corrigé dans : 2.15.0

CWE : CWE-295 (Validation de certificat incorrecte)

Composant : confluent_kafka/schema_registry/rules/encryption/hcvault/hcvault_client.py

Signalé par : Rahul Karne

CNA : VulnCheck


Résumé

Le client HashiCorp Vault KMS dans confluent-kafka code en dur verify=False lors de la construction de son hvac.Client, désactivant la vérification du certificat TLS pour les connexions HTTPS à Vault effectuées via les règles de chiffrement de champ du Schema Registry.

Le code vulnérable se trouve dans :

confluent_kafka/schema_registry/rules/encryption/hcvault/hcvault_client.py

Le client affecté est initialisé comme suit :

self._client = hvac.Client(
    url=vault_url,
    token=token,
    namespace=ns,
    verify=False
)

Comme verify=False est inconditionnel, le client accepte les certificats TLS non fiables, y compris les certificats auto-signés ou contrôlés par un attaquant.

Un attaquant positionné sur le réseau, capable d'intercepter ou de rediriger le trafic Vault de l'application, peut usurper l'identité du serveur Vault, capturer les identifiants d'authentification Vault et renvoyer des réponses Vault/KMS falsifiées.

L'intégration HCVault affectée expose la configuration pour les jetons Vault, les espaces de noms et les identifiants AppRole, mais les versions affectées ne fournissent aucune configuration prise en charge de bundle CA ni mécanisme équivalent pour restaurer la vérification du certificat.


Impact

Un attaquant disposant d'une position d'homme du milieu sur le réseau entre l'application et HashiCorp Vault peut :

  1. Présenter un certificat TLS contrôlé par l'attaquant ou auto-signé.
  2. Faire accepter ce certificat car la vérification est désactivée.
  3. Capturer le matériel d'authentification Vault, notamment :
    • X-Vault-Token
    • AppRole role_id
    • AppRole secret_id
  4. Injecter des réponses Vault falsifiées.
  5. Interférer avec les opérations d'encapsulation ou de désencapsulation de clés KMS utilisées par les règles de chiffrement du Schema Registry.

Cela peut compromettre la confidentialité et l'intégrité des données protégées par le flux de travail KMS soutenu par Vault.


Portée

confluent-kafka est le client Python officiel de Confluent pour Apache Kafka.

La vulnérabilité affecte spécifiquement les déploiements utilisant :

Règles de chiffrement du Schema Registry
        ↓
Intégration HCVault KMS
        ↓
URI de clé hcvault://

La population affectée est donc plus restreinte que l'ensemble des utilisateurs de confluent-kafka.

Cependant, la fonctionnalité affectée est sensible en matière de sécurité car ces déploiements reposent sur HashiCorp Vault pour la gestion des clés cryptographiques et le chiffrement au niveau des champs.


Détail technique

HcVaultKmsClient.__init__() analyse une URI de clé hcvault://, détermine l'URL de base de Vault et crée un hvac.Client.

Dans les versions affectées, y compris 2.14.2, le code pertinent est :

self._client = hvac.Client(
    url=vault_url,
    token=token,
    namespace=ns,
    verify=False
)

if role_id and secret_id and self._client is not None:
    self._client.auth.approle.login(
        role_id=role_id,
        secret_id=secret_id
    )

La bibliothèque hvac s'appuie en fin de compte sur la pile TLS de requests de Python.

Définir :

verify=False

indique au client de ne pas valider le certificat TLS du serveur distant.

Par conséquent, les certificats qui seraient normalement rejetés peuvent être acceptés, y compris les certificats qui sont :

  • Auto-signés
  • Expirés
  • Émis pour le mauvais nom d'hôte
  • Signés par une autorité non fiable
  • Générés par un attaquant

Cela affecte les deux chemins d'authentification pris en charge.

Authentification par jeton

Lorsque l'authentification par jeton est utilisée, le jeton Vault est envoyé via l'en-tête HTTP :

X-Vault-Token

Si un attaquant réussit à usurper le point de terminaison Vault, le serveur contrôlé par l'attaquant peut recevoir ce jeton.

Authentification AppRole

Lorsque l'authentification AppRole est utilisée, le client envoie :

role_id
secret_id

à :

/v1/auth/approle/login

Un MITM réussi peut donc capturer les deux identifiants AppRole.


Configuration TLS manquante

Le pilote HCVault affecté lit la configuration, notamment :

token.id
namespace
approle.role.id
approle.secret.id

ainsi que les variables d'environnement VAULT_* pertinentes.

Cependant, les versions affectées n'exposent pas de configuration permettant aux opérateurs de :

  • Fournir un bundle CA personnalisé.
  • Restaurer la vérification du certificat serveur.
  • Configurer des racines PKI privées de confiance.
  • Configurer un comportement de vérification TLS sécurisé équivalent.

Par conséquent, les applications utilisant l'intégration affectée ne peuvent pas restaurer la vérification TLS via la configuration normale du paquet.


Cause racine

Le paquet désactive explicitement la vérification du certificat serveur TLS au lieu de s'appuyer sur la valeur par défaut sécurisée.

La construction vulnérable est effectivement :

hvac.Client(..., verify=False)

plutôt que :

hvac.Client(..., verify=True)

ou simplement :

hvac.Client(...)

où la vérification est activée par défaut.

La désactivation de la vérification du certificat supprime l'authentification du serveur de la connexion TLS.

Bien que la connexion reste chiffrée, le client n'a aucun mécanisme fiable pour déterminer s'il communique avec le serveur Vault légitime.

Cela crée la condition nécessaire à une attaque de type homme du milieu sur le réseau.


Conditions préalables à l'exploitation

Une exploitation réussie nécessite :

  1. L'application utilise une version affectée de confluent-kafka :

    • 2.8.0 à 2.14.2.
  2. L'application utilise les règles de chiffrement du Schema Registry avec l'intégration HCVault KMS.

  3. La clé KMS configurée utilise le schéma :

hcvault://
  1. L'attaquant obtient une position réseau capable d'intercepter, rediriger ou usurper le trafic entre l'application et Vault.

Les exemples possibles incluent :

  • Usurpation DNS
  • Usurpation ARP
  • Infrastructure réseau compromise
  • Infrastructure Wi-Fi ou routeur malveillante
  • Manipulation de routes/BGP
  • Proxy de sortie malveillant
  • Segment réseau compromis

Aucun privilège au niveau de l'application ni interaction de la victime n'est requis une fois la position MITM nécessaire obtenue.


Preuve de concept

poc_confluent_kafka.py démontre le problème contre une wheel confluent-kafka 2.14.2 décompressée localement.

Le PoC utilise :

  • Un serveur HTTPS auto-signé local simulant HashiCorp Vault.
  • Des identifiants Vault factices.
  • La véritable implémentation vulnérable de HcVaultKmsClient.
  • Aucune infrastructure Kafka réelle.
  • Aucune infrastructure Vault réelle.
  • Aucun identifiant de production.

La preuve de concept contient cinq modes.

Télécharger l’outil