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
scc-check — Vérificateur hors ligne pour Spring Cloud Config CVE-2026-40982 — vous indique si votre ligne de version dispose d'un correctif OSS (3.1.x/4.1.x/4.2.x : ce n'est pas le cas). | Kitploit
Outils/GitHubGitHub/xiaoqimikko/scc-check
Analyse StatiqueScanners de VulnérabilitésAnalyse des VulnérabilitésDevSecOpsSécurité de la Chaîne Logistique
GitHubxiaoqimikko/scc-check

scc-check

Vérificateur hors ligne pour Spring Cloud Config CVE-2026-40982 — vous indique si votre ligne de version dispose d'un correctif OSS (3.1.x/4.1.x/4.2.x : ce n'est pas le cas).

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

scc-check

Outil de diagnostic hors ligne pour Spring Cloud Config CVE-2026-40982 —— zéro dépendance, un seul jar, sans connexion réseau.

Il ne répond pas à la question « suis-je affecté ? », mais à la question plus pénible :

Sur ma branche de version, existe-t-il sur Maven Central une version sécurisée vers laquelle migrer ?

Pour les trois branches 3.1.x / 4.1.x / 4.2.x, la réponse est non.


Pourquoi cet outil est nécessaire

Avis officiel (spring.io/security/cve-2026-40982) indiquant la version corrigée :

Ligne de versionVersion corrigée officielleDisponibilitéVersion la plus élevée de cette ligne sur Maven CentralPouvez-vous effectuer la mise à niveau
3.1.x3.1.14Enterprise Support Only3.1.10❌
4.1.x4.1.10Enterprise Support Only4.1.7❌
4.2.x4.2.7Enterprise Support Only4.2.4❌
4.3.x4.3.3OSS4.3.4✅
5.0.x5.0.3OSS5.0.4✅

Ces trois versions correctives ne se trouvent pas dans les dépôts publics. N'importe qui peut le vérifier :

curl -sI https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-config-server/4.2.7/
# HTTP/1.1 404 Not Found

Et les outils automatisés ne vous le diront pas — dans les données structurées des avis GitHub, le first_patched_version de ces trois lignes est tout simplement null :

{"range": "<= 3.1.13",          "first_patched_version": null}
{"range": ">= 4.1.0, <= 4.1.9", "first_patched_version": null}
{"range": ">= 4.2.0, <= 4.2.6", "first_patched_version": null}
{"range": ">= 4.3.0, <= 4.3.2", "first_patched_version": "4.3.3"}
{"range": ">= 5.0.0, <= 5.0.2", "first_patched_version": "5.0.3"}

Dependabot / OSV consomment précisément ces données. Sans cible de mise à niveau, aucune recommandation de mise à niveau ne peut être fournie.


Utilisation

java -jar scc-check.jar <目录或 jar/war 路径>

# 中文乱码时(Windows 控制台代码页与 Java 判断常常对不上):
java -jar scc-check.jar target/ --utf8

Nécessite Java 17+. Zéro dépendance à l'exécution, peut être déposé directement dans un environnement hors ligne.

Codes de sortie : 2 une branche de version ne peut pas être mise à niveau · 1 affecté mais peut être mis à niveau / indéterminable · 0 non détecté · 3 erreur d'utilisation ou de chemin

Où il cherche

  • Noms de fichiers .jar / .war
  • Dépendances intégrées des fat jars et wars Spring Boot (BOOT-INF/lib/, WEB-INF/lib/)
  • Métadonnées Maven à l'intérieur des jars (META-INF/maven/.../pom.properties) — reconnaissables même si le jar a été renommé
  • pom.xml

Trois choses qu'il ne fait délibérément pas

1. Ne compte pas le client comme affecté. Cette CVE n'affecte que le spring-cloud-config-server côté serveur. Les projets qui incluent spring-cloud-starter-config (client) ne sont pas affectés ; l'outil vous le dit clairement, plutôt que de vous faire paniquer inutilement.

2. Ne rend pas de verdict sur 4.0.x. Aucune des plages de l'avis officiel ne couvre 4.0.x (4.0.0 > 3.1.13, ne tombe pas dans la plage sans borne inférieure). L'outil signale seulement « hors du périmètre couvert par l'avis officiel », sans signaler CRITICAL — remplir la table de verdicts par conjecture ferait prendre de mauvaises décisions.

3. Lorsqu'il ne peut pas lire la version, il dit explicitement « indéterminable », jamais ne la considère comme sûre. Spring Cloud gère les versions via des release trains, et le pom.xml n'a souvent aucun <version>. Dans ce cas, l'outil vous indique d'analyser les artefacts de build, plutôt que de prétendre qu'aucun problème n'a été trouvé. De même, les dépendances dont le scope est test / provided ne sont pas transmises aux consommateurs et ne comptent pas comme surface d'exposition ; les dépendances entourées de commentaires XML sont supprimées.


La table de verdicts est générée, pas recopiée à la main

tools/gen_rules.py compile RuleTable.java à partir de deux sources de données primaires :

  • GitHub advisory GHSA-6g23-24mc-hx6x → plages affectées + versions officiellement corrigées
  • maven-metadata.xml de repo1.maven.org → versions réellement existantes dans le dépôt public

Avec quatre assertions : nombre de plages ≥5, first_patched=null ≥3, branches de version ≥5, verdicts ENTERPRISE_ONLY ≥3. Si l'une d'elles n'est pas satisfaite, l'exécution s'arrête immédiatement, aucun fichier n'est généré — sinon, un échec d'analyse produirait une table vide, et les tests unitaires passeraient tous au vert face à une table vide.

python tools/gen_rules.py     # 重新生成判定表
mvn test                      # 31 个测试

Avertissement

Cet outil se contente de comparer des versions ; il ne vérifie pas si votre Config Server est réellement exposé sur l'Internet public, s'il dispose d'un WAF, ou s'il a déjà été atténué par d'autres moyens. Le résultat du verdict est un point de départ pour l'investigation, pas une conclusion de sécurité. Référez-vous aux avis officiels.

Licence

MIT


Besoin d'une investigation plus poussée ?

Cet outil répond à la question « suis-je touché ou non ». Les cas suivants, il ne peut pas les traiter ; vous pouvez faire appel à moi pour :

  • Des dépendances ayant subi un shade / relocate, ou des artefacts de build impossibles à obtenir
  • Déterminer si « cette CVE se déclenche réellement dans notre chaîne d'appels », et pas seulement si la version correspond
  • Des adaptations à votre propre processus de build ou à votre environnement intranet, ou une intégration dans votre pipeline existant
  • Un problème similaire sur un autre composant, pour lequel aucun outil n'existe encore

📮 [email protected] —— exposez la situation, je vous fournis une réponse écrite d'une page sous 24 heures : est-ce faisable, où sont les difficultés, combien de temps environ. Cette étape est gratuite, et vous n'avez rien à vous engager à l'avance.

Codes de sortie

CodeSignification
0Analyse terminée, et chaque fichier a réellement été lu, aucune découverte nécessitant votre action
4Un fichier est illisible —— ce n'est pas un zip, contenu tronqué, ou échec de lecture

🔴 Le code 4 a été ajouté le 2026-09-09, et la raison de son ajout mérite d'être expliquée. Avant cela, un fichier illisible ne laissait qu'une ligne d'avertissement dans la sortie, alors que le code de sortie restait 0 —— la trace est destinée aux humains, tandis que la CI et les scripts regardent le code de sortie ; ainsi, « je n'ai pas pu le lire » équivalait à « validé » dans l'automatisation. Un jar corrompu, chiffré ou téléchargé incomplètement se transformait silencieusement en un « aucun problème détecté ».

« Je ne peux pas le lire » et « vous êtes en sécurité » doivent être deux phrases distinctes.

⚠️ Un jar vide légitime ne compte pas comme illisible (un enregistrement EOCD de 22 octets est un vrai zip vide), et ne déclenche pas 4 —— trop de fausses alertes, et plus personne ne regarde les vraies.

Télécharger l’outil