Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
scc-check — Verificador offline para Spring Cloud Config CVE-2026-40982 — informa se a sua linha de versão possui alguma correção OSS (3.1.x/4.1.x/4.2.x: não possui). | Kitploit
Ferramentas/GitHubGitHub/xiaoqimikko/scc-check
Análise EstáticaScanners de VulnerabilidadesAnálise de VulnerabilidadesDevSecOpsSegurança da Cadeia de Suprimentos
GitHubxiaoqimikko/scc-check

scc-check

Verificador offline para Spring Cloud Config CVE-2026-40982 — informa se a sua linha de versão possui alguma correção OSS (3.1.x/4.1.x/4.2.x: não possui).

Ver Repositório
há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

scc-check

Ferramenta de verificação offline para CVE-2026-40982 do Spring Cloud Config — zero dependências, jar único, sem conexão à internet.

Ela não responde à pergunta «sou afetado ou não», mas sim àquela questão mais incômoda:

A minha linha de versão tem, afinal, alguma versão segura para a qual eu possa atualizar no Maven Central?

Para as três linhas 3.1.x / 4.1.x / 4.2.x, a resposta é não.


Por que ela é necessária

O aviso oficial (spring.io/security/cve-2026-40982) indica as versões corrigidas:

Linha de versãoVersão oficial corrigidaDisponibilidadeVersão mais alta dessa linha no Maven CentralVocê consegue atualizar
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✅

Essas três versões de correção não estão em repositórios públicos. Qualquer pessoa pode verificar:

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

E as ferramentas automatizadas não vão te contar isso — nos dados estruturados do GitHub advisory, o first_patched_version dessas três linhas é exatamente 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 consomem exatamente esses dados. Sem um alvo de atualização, não é possível fornecer uma recomendação de atualização.


Uso

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

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

Requer Java 17+. Sem dependências em tempo de execução, pode ser colocado diretamente em ambientes offline.

Códigos de saída: 2 há linhas de versão que não podem ser atualizadas · 1 afetado mas atualizável / não é possível determinar · 0 não encontrado · 3 erro de uso ou de caminho

Onde ele procura

  • Nomes de arquivo .jar / .war
  • Dependências embutidas em fat jars e wars do Spring Boot (BOOT-INF/lib/, WEB-INF/lib/)
  • Metadados Maven dentro do jar (META-INF/maven/.../pom.properties) — reconhece mesmo se o jar for renomeado
  • pom.xml

Três coisas que ele deliberadamente não faz

1. Não considera o cliente como afetado. Este CVE afeta apenas o spring-cloud-config-server do lado do servidor. Projetos que incluem spring-cloud-starter-config (cliente) não são afetados; a ferramenta informa isso claramente, em vez de deixá-lo preocupado sem motivo.

2. Não emite veredito para 4.0.x. Nenhum intervalo do advisory oficial cobre 4.0.x (4.0.0 > 3.1.13, não se enquadra na faixa sem limite inferior). A ferramenta apenas reporta "fora da cobertura oficial", não reporta CRITICAL — preencher a tabela de veredito por suposição levaria as pessoas a decisões erradas.

3. Quando não consegue ler a versão, diz explicitamente "não é possível determinar", nunca assume que é seguro. O Spring Cloud gerencia versões de forma unificada por release train, e no pom.xml muitas vezes não há <version> algum. Nesse caso, a ferramenta orienta a escanear os artefatos de build, em vez de fingir que não encontrou problema. Da mesma forma, dependências com scope test / provided não são propagadas aos consumidores e não contam como superfície de exposição; dependências envolvidas em comentários XML são removidas.


A tabela de veredito é gerada, não copiada à mão

tools/gen_rules.py compila o RuleTable.java a partir de duas fontes de dados primárias:

  • GitHub advisory GHSA-6g23-24mc-hx6x → intervalos afetados + versões corrigidas oficiais
  • maven-metadata.xml do repo1.maven.org → versões que realmente existem no repositório público

E inclui quatro asserções: número de intervalos ≥5, first_patched=null ≥3, linhas de versão ≥5, classificados como ENTERPRISE_ONLY ≥3. Se qualquer uma não for satisfeita, o processo é abortado imediatamente e nenhum arquivo é gerado — caso contrário, uma falha de parsing produziria uma tabela vazia, e os testes unitários passariam todos verdes mesmo contra uma tabela vazia.

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

Aviso legal

Esta ferramenta faz apenas comparação de versões; não verifica se o seu Config Server está realmente exposto à internet pública, se possui WAF ou se já foi mitigado por outros meios. O resultado da avaliação é um ponto de partida para investigação, não uma conclusão de segurança. Consulte os advisories oficiais.

Licença

MIT


Precisa de uma investigação mais aprofundada?

Esta ferramenta responde à pergunta «eu fui afetado ou não». As questões abaixo ela não consegue responder, mas você pode me procurar para isso:

  • Dependências que passaram por shade / relocate, ou cujos artefatos de build simplesmente não estão disponíveis
  • O que se quer determinar é se «esta CVE realmente dispara na nossa cadeia de chamadas», e não apenas se a versão coincide
  • Necessidade de customização conforme o seu processo de build ou ambiente de rede interna, e integração ao pipeline existente
  • Você tem um problema semelhante de outro componente e ainda não existe ferramenta pronta

📮 [email protected] —— descreva a situação e eu te envio uma resposta por escrito em uma página em até 24 horas: se é viável, onde está a dificuldade e aproximadamente quanto tempo leva. Esta etapa é gratuita e você não precisa se comprometer com nada antecipadamente.

Códigos de saída

CódigoSignificado
0A varredura terminou e todos os arquivos foram realmente lidos, sem descobertas que exijam ação sua
4Há arquivos que não puderam ser lidos —— não é um zip, conteúdo truncado ou falha de leitura

🔴 O 4 foi adicionado em 2026-09-09, e o motivo vale a pena explicar. Antes disso, arquivos que não podiam ser lidos deixavam apenas uma linha de aviso na saída, e o código de saída continuava sendo 0 —— o registro é para leitura humana, mas o CI e os scripts olham o código de saída, então «não consegui lê-lo» equivale a «aprovado» na automação. Um jar corrompido, criptografado ou baixado incompleto se transforma silenciosamente em um «nenhum problema encontrado».

«Não consigo lê-lo» e «você está seguro» precisam ser duas frases distintas.

⚠️ Um jar vazio legítimo não conta como ilegível (um registro EOCD de 22 bytes é um zip vazio de verdade) e não dispara o 4 —— com muitos alarmes falsos, ninguém dá atenção aos alarmes reais.

Para o significado dos demais códigos de saída, consulte os níveis de veredito e as instruções de uso acima.

Baixar ferramenta