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
kafka-connect-filestream-win — Kafka Connect 4.3.1 - Élevé - Résidu de classpath Windows FileStream - lecture/écriture de fichiers non authentifiée | Kitploit
Outils/GitHubGitHub/abraxas/kafka-connect-filestream-win
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsVirtualisation de SécuritéTests d'IntrusionMauvaise ConfigurationLabs et Pratique
GitHubabraxas/kafka-connect-filestream-win

kafka-connect-filestream-win

Kafka Connect 4.3.1 - Élevé - Résidu de classpath Windows FileStream - lecture/écriture de fichiers non authentifiée

Voir le dépôt
110il y a 13 joursPas 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

Abraxas Labs - kafka-connect-filestream-win

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  kafka-connect-filestream-win

kafka-connect-filestream-win

Apache Kafka Connect 4.3.1 (26b251a) - Apache Software Foundation

KAFKA-13748 a retiré FileStream du CLASSPATH Connect sous Unix afin qu'une REST non authentifiée ne puisse pas ouvrir des fichiers locaux. Le lanceur Windows n'a jamais reçu cette exclusion. L'archive livre toujours connect-file dans libs/. kafka-run-class.bat y concatène chaque jar.

Un POST /connectors non authentifié sur un worker lancé sous Windows lit et ajoute des fichiers auxquels l'UID de Connect a accès.

IDpas encore de CVE
CWECWE-552, CWE-1188
CVSSÉlevé : 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
ProduitApache Kafka Connect
Affecté4.3.1 (26b251a) ; Windows bin/windows/kafka-run-class.bat. Le .sh Unix exclut déjà connect-file.
AuthREST Connect non authentifiée (par défaut listeners=http://:8083, sans rest.extension.classes)
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

Ce qu'un attaquant peut faire

Pointez un navigateur ou curl vers Connect REST sur un worker démarré avec les fichiers .bat Windows fournis. Créez une source FileStream. Le worker ouvre le chemin que vous mettez dans file et produit les octets sur un topic Kafka. Créez un sink FileStream. Le worker crée ou ajoute le chemin que vous mettez dans file. Il n'y a pas de liste d'autorisation.

Le lanceur Unix retire déjà connect-file.*.jar. Le même JSON contre le connect-distributed.sh d'origine renvoie un 400 : connecteur inconnu. Le Docker apache/kafka par défaut est le broker Linux. Ce reliquat est le CLASSPATH Windows.

Comment je l'ai trouvé

J'ai d'abord lu la liste des CVE Kafka : JAAS Jndi/Ldap, liste d'autorisation d'URL OAUTHBEARER, DefaultJwtValidator, ConfigProvider, le JIRA public de FileStream. Le kafka-run-class.sh Unix contient toujours l'exclusion :

regex="(-(test|test-sources|src|scaladoc|javadoc)\.jar|jar.asc|connect-file.*\.jar)$"

cc_pkg omet également file. J'ai ensuite ouvert la copie Windows :

for %%p in (api runtime file json tools) do (
	for %%i in ("%BASE_DIR%\connect\%%p\build\libs\connect-%%p*.jar") do (
		call :concat "%%i"
	)
)
rem Classpath addition for release
for %%i in ("%BASE_DIR%\libs\*") do (
	call :concat "%%i"
)

build.gradle copie toujours connect-file dans libs/. La documentation indique que FileStream n'est pas sur le CLASSPATH par défaut. Cette phrase est vraie pour le .sh.

Doyensec a écrit cette classe en 2022. KAFKA-13748 / PR 11908 était le correctif Unix. Le .bat n'a jamais été mis à jour.

Fausses pistes déjà consignées : Wine ; exécuter le .bat sur macOS ; considérer plugin.path comme la faille (il est vide sur les deux workers) ; prétendre que le Docker Linux est ce bug ; prendre un 201 sous Unix pour un SUCCÈS. Théâtre : un reverse shell. L'oracle est le 400 Unix plus une ligne témoin dans le fichier sink.

Lab

cd lab
./run.sh

La REST Unix 127.0.0.1:18083 est le connect-distributed.sh d'origine. La simulation Windows 127.0.0.1:18084 est le libs/* non filtré, la boucle libs\* du .bat de release. Pas Wine. Le broker est apache/kafka:4.3.1 sur le réseau compose. Liez-le à loopback.

unix-filestream=absent unix-post=400
win-filestream=present win-source=201 win-sink=201 pwned=yes
SUCCESS kafka-connect-filestream-win ... KAFKA-CONNECT-FILESTREAM-WIN-WITNESS

Le correctif

Donnez à kafka-run-class.bat la même exclusion connect-file que celle déjà présente dans le .sh. Retirez file de la boucle gradle-from-source for %%p in (api runtime file json tools). Continuez à livrer le jar pour ceux qui définissent plugin.path volontairement.

Références

  • github.com/apache/kafka tag 4.3.1 (26b251a451ce941d3d7a55e6487bcb7f16b5ad48)
  • bin/windows/kafka-run-class.bat · bin/kafka-run-class.sh
  • FileStreamSourceTask.java · FileStreamSinkTask.java
  • KAFKA-13748 · PR 11908
  • Doyensec 2022 Kafka Connect FileStream advisory
Télécharger l’outil