Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-15911-Confluent_Kafka — Verifica del certificato TLS disabilitata per HashiCorp Vault KMS in confluent-kafka | Kitploit
Strumenti/GitHubGitHub/rahulreddykarne/cve-2026-15911-confluent_kafka
Strumenti DifensiviAnalisi delle VulnerabilitàVirtualizzazione per la SicurezzaCrittografiaSicurezza CloudPaper e RicercaApprendimento e Formazione
GitHub

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
rahulreddykarne/cve-2026-15911-confluent_kafka

CVE-2026-15911-Confluent_Kafka

Verifica del certificato TLS disabilitata per HashiCorp Vault KMS in confluent-kafka

Vedi Repository
1 giorno faNon ancora revisionato
Condividi

CVE-2026-15911: Verifica del certificato TLS disabilitata per HashiCorp Vault KMS in confluent-kafka

Gravità: Alta, CVSS 3.1 7.4

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

Interessato: confluent-kafka >= 2.8.0, <= 2.14.2

Corretto in: 2.15.0

CWE: CWE-295 (Validazione del certificato impropria)

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

Segnalato da: Rahul Karne

CNA: VulnCheck


Riepilogo

Il client HashiCorp Vault KMS in confluent-kafka codifica in modo fisso verify=False durante la costruzione del suo hvac.Client, disabilitando la verifica del certificato TLS per le connessioni HTTPS a Vault effettuate tramite le regole di cifratura dei campi dello Schema Registry.

Il codice vulnerabile si trova in:

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

Il client interessato viene inizializzato come segue:

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

Poiché verify=False è incondizionato, il client accetta certificati TLS non attendibili, inclusi certificati autofirmati o controllati da un attaccante.

Un attaccante posizionato sulla rete in grado di intercettare o reindirizzare il traffico Vault dell'applicazione può impersonare il server Vault, catturare le credenziali di autenticazione Vault e restituire risposte Vault/KMS contraffatte.

L'integrazione HCVault interessata espone la configurazione per token Vault, namespace e credenziali AppRole, ma le versioni interessate non forniscono alcuna configurazione supportata per il bundle CA o un meccanismo equivalente per ripristinare la verifica del certificato.


Impatto

Un attaccante con una posizione di man-in-the-middle sulla rete tra l'applicazione e HashiCorp Vault può:

  1. Presentare un certificato TLS controllato dall'attaccante o autofirmato.
  2. Far accettare tale certificato perché la verifica è disabilitata.
  3. Catturare il materiale di autenticazione Vault, inclusi:
    • X-Vault-Token
    • AppRole role_id
    • AppRole secret_id
  4. Iniettare risposte Vault contraffatte.
  5. Interferire con le operazioni di key-wrapping o key-unwrapping KMS utilizzate dalle regole di cifratura dello Schema Registry.

Ciò può compromettere la riservatezza e l'integrità dei dati protetti dal flusso di lavoro KMS basato su Vault.


Portata

confluent-kafka è il client Python ufficiale di Confluent per Apache Kafka.

La vulnerabilità interessa specificamente le distribuzioni che utilizzano:

Schema Registry encryption rules
        ↓
HCVault KMS integration
        ↓
hcvault:// key URI

La popolazione interessata è quindi più ristretta rispetto a tutti gli utenti di confluent-kafka.

Tuttavia, la funzionalità interessata è sensibile alla sicurezza perché queste distribuzioni si affidano a HashiCorp Vault per la gestione delle chiavi crittografiche e la cifratura a livello di campo.


Dettaglio tecnico

HcVaultKmsClient.__init__() analizza un URI di chiave hcvault://, determina l'URL di base di Vault e crea un hvac.Client.

Nelle versioni interessate, inclusa la 2.14.2, il codice rilevante è:

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 libreria hvac si basa in ultima analisi sullo stack TLS di requests di Python.

Impostare:

verify=False

indica al client di non validare il certificato TLS del server remoto.

Di conseguenza, i certificati che normalmente verrebbero rifiutati possono essere accettati, inclusi certificati che sono:

  • Autofirmati
  • Scaduti
  • Emessi per il nome host sbagliato
  • Firmati da un'autorità non attendibile
  • Generati da un attaccante

Ciò interessa entrambi i percorsi di autenticazione supportati.

Autenticazione tramite Token

Quando viene utilizzata l'autenticazione tramite token, il token Vault viene inviato attraverso l'header HTTP:

X-Vault-Token

Se un attaccante riesce a impersonare l'endpoint Vault, il server controllato dall'attaccante può ricevere questo token.

Autenticazione AppRole

Quando viene utilizzata l'autenticazione AppRole, il client invia:

role_id
secret_id

a:

/v1/auth/approle/login

Un MITM riuscito può quindi catturare entrambe le credenziali AppRole.


Configurazione TLS mancante

Il driver HCVault interessato legge la configurazione inclusa:

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

così come le variabili d'ambiente VAULT_* rilevanti.

Tuttavia, le versioni interessate non espongono una configurazione che consenta agli operatori di:

  • Fornire un bundle CA personalizzato.
  • Ripristinare la verifica del certificato del server.
  • Configurare root PKI private attendibili.
  • Configurare un comportamento equivalente di verifica TLS sicura.

Di conseguenza, le applicazioni che utilizzano l'integrazione interessata non possono ripristinare la verifica TLS tramite la normale configurazione del pacchetto.


Causa principale

Il pacchetto disabilita esplicitamente la verifica del certificato del server TLS invece di affidarsi all'impostazione predefinita sicura.

La costruzione vulnerabile è effettivamente:

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

anziché:

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

o semplicemente:

hvac.Client(...)

dove la verifica è abilitata per impostazione predefinita.

Disabilitare la verifica del certificato rimuove l'autenticazione del server dalla connessione TLS.

Sebbene la connessione rimanga cifrata, il client non ha un meccanismo affidabile per determinare se sta comunicando con il server Vault legittimo.

Ciò crea la condizione necessaria per un attacco man-in-the-middle sulla rete.


Precondizioni di sfruttamento

Lo sfruttamento riuscito richiede:

  1. L'applicazione utilizza una versione interessata di confluent-kafka:

    • dalla 2.8.0 alla 2.14.2.
  2. L'applicazione utilizza le regole di cifratura dello Schema Registry con l'integrazione HCVault KMS.

  3. La chiave KMS configurata utilizza lo schema:

hcvault://
  1. L'attaccante ottiene una posizione di rete in grado di intercettare, reindirizzare o impersonare il traffico tra l'applicazione e Vault.

Esempi possibili includono:

  • DNS spoofing
  • ARP spoofing
  • Infrastruttura di rete compromessa
  • Infrastruttura Wi-Fi o router rogue
  • Manipolazione di route/BGP
  • Proxy di uscita malevolo
  • Segmento di rete compromesso

Non sono richiesti privilegi a livello applicativo né interazione della vittima una volta che esiste la posizione MITM necessaria.


Proof of Concept

poc_confluent_kafka.py dimostra il problema contro un wheel confluent-kafka 2.14.2 scompattato localmente.

Il PoC utilizza:

  • Un server HTTPS autofirmato locale che simula HashiCorp Vault.
  • Credenziali Vault fittizie.
  • L'implementazione reale e vulnerabile di HcVaultKmsClient.
  • Nessuna infrastruttura Kafka reale.
  • Nessuna infrastruttura Vault reale.
  • Nessuna credenziale di produzione.

Il proof of concept contiene cinque modalità.

Scarica lo strumento