Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
scc-check — Spring Cloud Config CVE-2026-40982 用オフラインチェッカー — お使いのバージョン系に OSS 修正が存在するかどうかを確認できます (3.1.x/4.1.x/4.2.x: 存在しません) | Kitploit
ツール/GitHubGitHub/xiaoqimikko/scc-check
静的分析脆弱性スキャナー脆弱性分析DevSecOpsサプライチェーンセキュリティ
GitHubxiaoqimikko/scc-check

scc-check

Spring Cloud Config CVE-2026-40982 用オフラインチェッカー — お使いのバージョン系に OSS 修正が存在するかどうかを確認できます (3.1.x/4.1.x/4.2.x: 存在しません)

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

scc-check

Spring Cloud Config CVE-2026-40982 オフライン調査ツール —— 依存ゼロ、単一 jar、ネットワーク不要。

これが答えるのは「自分は影響を受けるか」ではなく、もっと厄介な問いです:

このバージョン系列に、Maven Central 上で上げられる安全なバージョンはあるのか?

3.1.x / 4.1.x / 4.2.x の3系列について、答えは ない。


なぜこれが必要か

公式アドバイザリ(spring.io/security/cve-2026-40982)が示す修正版:

バージョン系列公式修正版入手可否Maven Central 上の当該系列の最高バージョンアップグレード可能か
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✅

あの3つの修正バージョンは公開リポジトリに存在しない。誰でも検証できる:

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

しかも自動化ツールはこのことを教えてくれない —— GitHub advisory の構造化データにおいて、 これら3つのラインの first_patched_version はまさに 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 が消費しているのはまさにこのデータです。アップグレード先がなければ、アップグレード提案はできません。


使い方

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

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

Java 17+ が必要です。実行時に依存関係はゼロで、オフライン環境にそのまま持ち込めます。

終了コード:2 バージョン系列を上げられない · 1 影響を受けるがアップグレード可能 / 判定不能 · 0 未検出 · 3 使用方法またはパスの誤り

どこを調べるか

  • .jar / .war のファイル名
  • Spring Boot fat jar および war の埋め込み依存関係(BOOT-INF/lib/、WEB-INF/lib/)
  • jar 内の Maven メタデータ(META-INF/maven/.../pom.properties)—— jar の名前が変更されていても識別できる
  • pom.xml

意図的に行わない3つのこと

1. クライアントを影響ありと見なさない。 本 CVE はサーバー側の spring-cloud-config-server にのみ影響します。spring-cloud-starter-config (クライアント)を参照しているプロジェクトは影響を受けません。ツールはこれを明確に伝え、無駄に不安を煽ることはありません。

2. 4.0.x に対して判定を下さない。 公式 advisory のどの範囲も 4.0.x をカバーしていません(4.0.0 > 3.1.13 であり、下限なしの範囲には該当しません)。 ツールは「公式のカバー範囲外」とだけ報告し、CRITICAL とは報告しません —— 推測で判定表を埋めると誤った判断を招くからです。

3. バージョンを読み取れない場合は「判定不能」と明言し、決して安全と見なさない。 Spring Cloud は release train でバージョンを統一的に管理しており、pom.xml には**<version> がまったく無い**ことがよくあります。 この場合、ツールは問題が見つからなかったふりをせず、ビルド成果物をスキャンするよう促します。 同様に、scope が test / provided の依存関係は利用者に伝播しないため、露出面には含めません。 XML コメントで囲まれた依存関係は除去されます。


判定表は生成されるものであり、手書きではない

tools/gen_rules.py は2つの一次データソースから RuleTable.java をコンパイルします:

  • GitHub advisory GHSA-6g23-24mc-hx6x → 影響範囲 + 公式修正版
  • repo1.maven.org の maven-metadata.xml → 公開リポジトリに実際に存在するバージョン

さらに4つのアサーションを伴います:範囲数 ≥5、first_patched=null のものが ≥3、バージョン系列 ≥5、 ENTERPRISE_ONLY と判定されるものが ≥3。いずれか1つでも満たさなければ即座に中止し、ファイルを生成しません —— そうでなければ、パースが一度失敗するだけで空の表が出力され、単体テストは空の表に対してもすべてグリーンになってしまいます。

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

免責

本ツールはバージョン比較のみを行い、あなたの Config Server が実際にインターネットに公開されているか、 WAF があるか、他の方法で緩和済みかどうかは検出しません。判定結果は調査の出発点であり、セキュリティ上の結論ではありません。 公式 advisory を優先してください。

License

MIT


さらに踏み込んだ調査が必要ですか?

このツールが答えるのは「自分は該当するか」です。以下はこのツールでは答えられないため、私にご依頼いただけます:

  • 依存関係が shade / relocate されている、またはビルド成果物がそもそも入手できない
  • 判定したいのは「この CVE が我々の呼び出しチェーン上で実際に発火するか」であり、単なるバージョン一致ではない
  • 御社独自のビルドフローや社内環境に合わせたカスタマイズ、既存パイプラインへの組み込み
  • 手元にあるのが別のコンポーネントの同種の問題で、既成のツールがない

📮 [email protected] —— 状況をお知らせください。24 時間以内に 1 ページの書面回答をお返しします: 可能かどうか、どこが難しいか、おおよその所要期間。この段階は無料で、事前のコミットも不要です。

終了コード

コード意味
0スキャン完了、かつすべてのファイルを実際に読み込めた、対応が必要な検出なし
4読み込めないファイルがある —— zip でない、内容が切り詰められている、または読み取り失敗

🔴 4 は 2026-09-09 に追加されました。追加した理由は明確にしておく価値があります。 それ以前は、読み込めないファイルは出力に 1 行のヒントを残すだけで、終了コードは従来どおり 0 でした —— 痕跡は人間が見るもので、CI やスクリプトが見るのは終了コードです。そのため「読み込めなかった」が自動化の中では「合格」と等しくなっていました。 破損・暗号化・ダウンロード不完全な jar は、静かに「問題は見つかりませんでした」に変わってしまいます。

「読み込めなかった」と「あなたは安全だ」は別の文でなければなりません。

⚠️ 正当な空の jar は読み込めない扱いになりません(22 バイトの EOCD レコードは本物の空 zip です)、4 は発生しません —— 誤検知が増えると、本当の検知を誰も見なくなります。

その他の終了コードの意味は、上記の各判定段階と使い方の説明を参照してください。

ツールをダウンロード