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
CVE-2026-40987 — CVE-2026-40987 PoC | Kitploit
Outils/GitHubGitHub/daehyuh/cve-2026-40987
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et Éducation
GitHubdaehyuh/cve-2026-40987

CVE-2026-40987

CVE-2026-40987 PoC

Voir le dépôt
il y a 1 moisPas 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-40987 : Preuve de concept de traversée de chemin dans la synchronisation de fichiers distants Spring Integration

Ce dépôt est une preuve de concept minimale et reproductible de CVE-2026-40987, divulguée par l'avis de sécurité officiel de Spring.

  • Avis officiel : https://spring.io/security/cve-2026-40987/
  • Titre officiel : Remote-file synchronizer in Spring Integration writes server-supplied filename under localDirectory without canonicalization
  • Gravité : High
  • CVSS v3.1 : AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L
  • Date de divulgation : 10 juin 2026

Résumé de la vulnérabilité

Le synchroniseur de fichiers distants de Spring Integration pouvait utiliser tel quel le nom de fichier fourni par le serveur distant lors de la création du chemin de stockage local. Si la validation du chemin canonique n'était pas suffisante, un serveur FTP/SFTP/SMB malveillant ou compromis pouvait renvoyer un nom de fichier comme ../escaped-by-ftp-list.txt et ainsi écrire des fichiers en dehors du localDirectory configuré.

D'après l'avis officiel, il ne s'agit pas uniquement d'un problème FTP, mais d'un problème concernant toute la famille de synchronisation de fichiers distants FTP/SFTP/SMB de Spring Integration. Cette preuve de concept utilise FtpInboundFileSynchronizer pour reproduire le même vecteur de vulnérabilité de la manière la plus petite et la plus claire possible.

Périmètre d'impact

Produits impactés selon l'avis officiel :

  • Spring Integration

Versions impactées :

  • 7.0.0 - 7.0.4
  • 6.5.0 - 6.5.8
  • 6.4.0 - 6.4.11
  • 6.3.0 - 6.3.14
  • 5.5.0 - 5.5.20
  • Les versions antérieures non supportées peuvent également être impactées.

Versions corrigées :

  • 7.0.5 ou 7.0.4.1
  • 6.5.9 ou 6.5.8.1
  • 6.4.12
  • 6.3.15
  • 5.5.21

Ce que montre cette preuve de concept

Le test montre deux chemins.

  1. SpringIntegrationRemoteFilePathTraversalTest

    • Reproduit directement le chemin du synchroniseur de fichiers distant commun de Spring Integration.
    • Vérifie que lorsque le nom de fichier distant est ../escaped-by-spring-integration.txt, le chemin de fichier est créé en dehors du répertoire local configuré.
  2. SpringIntegrationFtpPathTraversalTest

    • Exécute un petit serveur FTP malveillant dans le test.
    • Insère ../escaped-by-ftp-list.txt dans la réponse LIST du serveur FTP.
    • Vérifie que FtpInboundFileSynchronizer réel de Spring Integration reçoit ce nom de fichier, télécharge incoming/../escaped-by-ftp-list.txt, et que le fichier résultant est créé en dehors du répertoire downloads.

Le flux principal de la preuve de concept est le suivant :

root@kitploit:~
localDirectory configuré = <temp>/downloads
nom de fichier LIST distant = ../escaped-by-ftp-list.txt
chemin local résultant      = <temp>/downloads/../escaped-by-ftp-list.txt
emplacement normalisé       = <temp>/escaped-by-ftp-list.txt

Autrement dit, il est possible d'écrire des fichiers en dehors du répertoire de téléchargement prévu par l'application.

Comment exécuter

Windows :

root@kitploit:~
.\mvnw.cmd test

macOS/Linux :

root@kitploit:~
./mvnw test

Résultat attendu avec une version vulnérable :

root@kitploit:~
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

Un test réussi signifie que « le comportement vulnérable a été reproduit ». Autrement dit, avec une dépendance vulnérable, le test réussit et démontre une écriture en dehors du répertoire.

Versions testées localement

Plusieurs versions vulnérables peuvent être testées avec les commandes suivantes :

root@kitploit:~
.\mvnw.cmd "-Dspring-integration.version=6.4.10" test
.\mvnw.cmd "-Dspring-integration.version=6.5.8" test
.\mvnw.cmd "-Dspring-integration.version=7.0.4" test
.\mvnw.cmd "-Dspring-integration.version=7.1.0-RC1" test

La valeur par défaut de ce dépôt est spring-integration.version=7.0.4.

Pourquoi c'est dangereux

Cette vulnérabilité permet à un attaquant d'écrire du contenu contrôlé par l'attaquant sur le système de fichiers local de l'application cliente. L'attaquant doit pouvoir manipuler les réponses du serveur de fichiers distant que l'application interroge de manière fiable, et non un client HTTP classique.

Les prérequis existent donc, mais lorsque les conditions sont réunies, les impacts suivants sont possibles :

  • Création ou écrasement de fichiers dans le répertoire de travail de l'application.
  • Placement de fichiers contrôlés par l'attaquant dans le répertoire d'entrée batch, la racine web, le répertoire temporaire, etc.
  • En cas de combinaison avec un pipeline de traitement ultérieur, un impact plus important sur l'intégrité.

L'avis officiel a évalué ce problème comme High.

Crédits

L'avis officiel de Spring mentionne que les chercheurs suivants ont signalé le problème de manière responsable :

  • M0untainShley
  • SharlongWen
  • daehyuh

Liens de référence

  • Avis officiel Spring : https://spring.io/security/cve-2026-40987/
  • Calculateur CVSS : https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:L&version=3.1
Télécharger l’outil