Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
scc-check — Verificatore offline per Spring Cloud Config CVE-2026-40982 — ti dice se la tua linea di versione dispone di una correzione OSS (3.1.x/4.1.x/4.2.x: non la dispone) | Kitploit
Strumenti/GitHubGitHub/xiaoqimikko/scc-check
Analisi StaticaScanner di VulnerabilitàAnalisi delle VulnerabilitàDevSecOpsSicurezza della Supply Chain
GitHubxiaoqimikko/scc-check

scc-check

Verificatore offline per Spring Cloud Config CVE-2026-40982 — ti dice se la tua linea di versione dispone di una correzione OSS (3.1.x/4.1.x/4.2.x: non la dispone)

Vedi Repository
1 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

scc-check

Strumento di verifica offline per Spring Cloud Config CVE-2026-40982 —— zero dipendenze, singolo jar, nessuna connessione di rete.

Non risponde alla domanda «sono interessato o no», ma a quella più scomoda:

La mia linea di versione ha davvero una versione sicura a cui aggiornare su Maven Central?

Per le tre linee 3.1.x / 4.1.x / 4.2.x, la risposta è no.


Perché serve

L'advisory ufficiale (spring.io/security/cve-2026-40982) indica come versione corretta:

Linea di versioneVersione ufficiale correttaDisponibilitàVersione massima di quella linea su Maven CentralPuoi aggiornare?
3.1.x3.1.14Solo Enterprise Support3.1.10❌
4.1.x4.1.10Solo Enterprise Support4.1.7❌
4.2.x4.2.7Solo Enterprise Support4.2.4❌
4.3.x4.3.3OSS4.3.4✅
5.0.x5.0.3OSS5.0.4✅

Quelle tre versioni correttive non sono nei repository pubblici. Chiunque può verificarlo:

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

E gli strumenti automatizzati non te lo diranno — nei dati strutturati dei GitHub advisory, il first_patched_version di queste tre linee è proprio 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 consumano esattamente questi dati. Senza una destinazione di aggiornamento, non è possibile fornire suggerimenti di aggiornamento.


Utilizzo

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

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

Richiede Java 17+. Zero dipendenze a runtime, può essere inserito direttamente in un ambiente offline.

Codici di uscita: 2 linea di versione non aggiornabile · 1 interessato ma aggiornabile / non determinabile · 0 non trovato · 3 errore di utilizzo o percorso

Dove cerca

  • Nomi file .jar / .war
  • Dipendenze incorporate nei fat jar e war di Spring Boot (BOOT-INF/lib/, WEB-INF/lib/)
  • Metadati Maven all'interno dei jar (META-INF/maven/.../pom.properties) — riconoscibili anche se il jar è stato rinominato
  • pom.xml

Tre cose che deliberatamente non fa

1. Non considera il client come interessato. Questa CVE interessa solo il spring-cloud-config-server lato server. I progetti che includono spring-cloud-starter-config (client) non sono interessati; lo strumento te lo dice esplicitamente, invece di farti preoccupare inutilmente.

2. Non emette verdetti per la 4.0.x. Nessun intervallo dell'advisory ufficiale copre la 4.0.x (4.0.0 > 3.1.13, non rientra nell'intervallo senza limite inferiore). Lo strumento segnala solo «al di fuori della copertura ufficiale», non riporta CRITICAL — riempire la tabella dei verdetti basandosi su supposizioni porta a decisioni sbagliate.

3. Quando non riesce a leggere la versione, dice esplicitamente «non determinabile», mai la considera sicura. Spring Cloud gestisce le versioni tramite release train, e nel pom.xml spesso non c'è affatto <version>. In questo caso lo strumento ti indica di scansionare gli artefatti di build, invece di fingere di non aver trovato problemi. Allo stesso modo, le dipendenze con scope pari a test / provided non vengono propagate agli utilizzatori e non contano come superficie esposta; le dipendenze racchiuse in commenti XML vengono rimosse.


La tabella dei verdetti è generata, non trascritta a mano

tools/gen_rules.py compila RuleTable.java da due fonti dati primarie:

  • GitHub advisory GHSA-6g23-24mc-hx6x → intervalli interessati + versione corretta ufficiale
  • maven-metadata.xml di repo1.maven.org → versioni effettivamente esistenti nel repository pubblico

Con quattro asserzioni: numero di intervalli ≥5, first_patched=null ≥3, linee di versione ≥5, verdetti ENTERPRISE_ONLY ≥3. Se una qualsiasi non è soddisfatta, si interrompe immediatamente e non genera il file — altrimenti un singolo errore di parsing produrrebbe una tabella vuota, e i test unitari resterebbero comunque tutti verdi su una tabella vuota.

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

Disclaimer

Questo strumento esegue solo il confronto delle versioni e non verifica se il tuo Config Server sia effettivamente esposto su Internet pubblico, se disponga di un WAF o se sia già stato mitigato in altro modo. Il risultato è un punto di partenza per l'indagine, non una conclusione di sicurezza. Fai riferimento agli advisory ufficiali.

License

MIT


Serve un'indagine più approfondita?

Questo strumento risponde alla domanda «sono stato colpito o no». Le seguenti domande non è in grado di rispondere, ma puoi contattarmi per farlo:

  • Le dipendenze sono state sottoposte a shade / relocate, oppure gli artefatti di build non sono reperibili
  • Bisogna determinare se «questa CVE si attiva effettivamente sulla nostra catena di chiamate», e non solo se la versione corrisponde
  • Serve una personalizzazione in base al vostro processo di build o al vostro ambiente di rete interno, oppure l'integrazione nella pipeline esistente
  • Si ha a che fare con un problema analogo di un altro componente, per cui non esiste ancora uno strumento pronto

📮 [email protected] —— Descrivi la situazione e entro 24 ore ti fornirò una risposta scritta di una pagina: se è fattibile, dov'è la difficoltà, all'incirca quanto tempo serve. Questo passo è gratuito e non richiede alcun impegno da parte tua.

Codici di uscita

CodiceSignificato
0Scansione completata, e ogni file è stato effettivamente letto, nessun risultato che richieda un tuo intervento
4Ci sono file illeggibili —— non è uno zip, contenuto troncato, o lettura fallita

🔴 Il codice 4 è stato aggiunto il 2026-09-09, e vale la pena spiegare il motivo. Prima di allora, i file illeggibili lasciavano solo una riga di avviso nell'output, mentre il codice di uscita restava 0 —— la traccia è per le persone, mentre CI e script guardano il codice di uscita, quindi «non sono riuscito a leggerlo» in automazione equivaleva a «superato». Un jar corrotto, cifrato o scaricato in modo incompleto diventava silenziosamente un «nessun problema rilevato».

«Non riesco a leggerlo» e «sei al sicuro» devono essere due frasi distinte.

⚠️ Un jar vuoto legittimo non conta come illeggibile (un record EOCD di 22 byte è uno zip vuoto reale) e non attiva 4 —— con troppi falsi allarmi, nessuno guarda più quelli veri.

Per il significato degli altri codici di uscita, vedi le sezioni precedenti sui livelli di verdetto e le istruzioni d'uso.

Scarica lo strumento