CVE-2023-25194
Apache Kafka Connect API : Attaque possible de RCE/déni de service via la configuration SASL JAAS JndiLoginModule avec Kafka Connect
- Publié
- 7 févr. 2023
- Mise à jour
- 25 mars 2025
- Attribution de CNA
- apache
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HÉlevé · 30 prochains jours
- Percentile
- 99,9 %
- Date du modèle
- 19 oct. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Une vulnérabilité de sécurité potentielle a été identifiée dans l'API Apache Kafka Connect. Cela nécessite l'accès à un worker Kafka Connect, ainsi que la capacité de créer/modifier des connecteurs sur celui-ci avec une configuration SASL JAAS de client Kafka arbitraire et un protocole de sécurité basé sur SASL, ce qui est possible sur les clusters Kafka Connect depuis Apache Kafka Connect 2.3.0. Lors de la configuration du connecteur via l'API REST Kafka Connect, un opérateur authentifié peut définir la propriété `sasl.jaas.config` de l'un des clients Kafka du connecteur sur "com.sun.security.auth.module.JndiLoginModule", ce qui peut être fait via les propriétés `producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config` ou `admin.override.sasl.jaas.config`. Cela permettra au serveur de se connecter au serveur LDAP de l'attaquant et de désérialiser la réponse LDAP, ce que l'attaquant peut utiliser pour exécuter des chaînes de gadgets de désérialisation Java sur le serveur Kafka Connect. L'attaquant peut provoquer une désérialisation sans restriction de données non fiables (ou) une vulnérabilité RCE lorsque des gadgets sont présents dans le classpath. Depuis Apache Kafka 3.0.0, les utilisateurs sont autorisés à spécifier ces propriétés dans les configurations de connecteurs pour les clusters Kafka Connect fonctionnant avec des configurations prêtes à l'emploi. Avant Apache Kafka 3.0.0, les utilisateurs ne peuvent pas spécifier ces propriétés à moins que le cluster Kafka Connect n'ait été reconfiguré avec une politique de remplacement des clients de connecteurs qui les autorise. Depuis Apache Kafka 3.4.0, nous avons ajouté une propriété système ("-Dorg.apache.kafka.disallowed.login.modules") pour désactiver l'utilisation des modules de connexion problématiques dans la configuration SASL JAAS. Par ailleurs, "com.sun.security.auth.module.JndiLoginModule" est également désactivé par défaut dans Apache Kafka Connect 3.4.0. Nous conseillons aux utilisateurs de Kafka Connect de valider les configurations des connecteurs et de n'autoriser que les configurations JNDI de confiance. Examinez également les dépendances des connecteurs pour détecter les versions vulnérables et, comme options de remédiation, soit mettez à niveau leurs connecteurs, soit mettez à niveau cette dépendance spécifique, soit supprimez les connecteurs. Enfin, en plus d'exploiter la propriété système "org.apache.kafka.disallowed.login.modules", les utilisateurs de Kafka Connect peuvent également implémenter leur propre politique de remplacement de la configuration des clients de connecteurs, qui peut être utilisée pour contrôler quelles propriétés du client Kafka peuvent être remplacées directement dans une configuration de connecteur et lesquelles ne le peuvent pas.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.