Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-28318-check — 安全に SolarWinds Serv-U ホストが CVE-2026-28318 に対して脆弱かどうかを検出する | Kitploit
ツール/GitHubGitHub/bishopfox/cve-2026-28318-check
偵察脆弱性分析エクスプロイト情報収集ウェブセキュリティペネトレーションテスト
GitHubbishopfox/cve-2026-28318-check

CVE-2026-28318-check

安全に SolarWinds Serv-U ホストが CVE-2026-28318 に対して脆弱かどうかを検出する

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

人気

すべて見る →

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

すべてのツールを探索

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

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

SolarWinds Serv-U 認証不要 DoS: 安全な検出スクリプト

CVE-2026-28318 に対する安全で 破壊的ではない 検出器です。これは SolarWinds Serv-U <= 15.5.4.108 における認証不要のサービス拒否脆弱性です。Content-Encoding: deflate を含む単一の POST とボディにより、そのボディがメモリ上の deflate 展開器 (CZLibCompression) に送られます。この展開器のバッファ管理が無効な free() を実行し、Serv-U サービスプロセスを異常終了させます。(CVSS 7.5、AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H、CWE-763)

このスクリプトは ターゲットをクラッシュさせません。 ホストごとに1つの質問に答えます。15.5.4 HF1 修正が欠けているか? それが CVE-2026-28318 に対してサーバが脆弱かどうかの正確な代理指標となります。

実行しても安全ですか?

はい。これがこのツールの目的であり、本番環境に対して実行しても安全です。

  • deflate を決して送信しません。 deflate は、脆弱な展開器を起動する 唯一の Content-Encoding 値です。このスクリプトは、無害な Content-Encoding: identity と短いボディを持つ単一の POST を送信するため、クラッシュコードパスには到達しません。
  • これは差分チェックであり、エクスプロイトではありません。 HF1 修正 (ビルド 15.5.4.125) は、ボディがあり、かつ空でない Content-Encoding を持つ 任意の リクエストを 415 Unsupported Media Type で拒否します。脆弱なビルドにはそのようなゲートがなく、identity プローブを通常どおり処理します。したがって、判定はステータスコードのみに基づき、サービスが不安定になることは決してありません。
  • 認証前で読み取り専用です。 1リクエスト、ログイン不要、ターゲット状態の変更なし。

仕組み

スクリプトはサイトルートに対して1つの安全な POST を送信し、ステータスコードを読み取ります。

ターゲットはプローブ応答自体の Server ヘッダから Serv-U として識別されるため、別途識別リクエストは不要です。

修正が欠けていることを証明します。サービスをクラッシュさせて確認するわけではありません。 VULNERABLE 判定は、HF1 入力検証ゲートが存在しないことを意味し、これがこの CVE の正確な代理指標です。スクリプトは意図的にそこで止まり、クラッシュさせる deflate 値を送信することはありません。

必要条件

  • Python 3.7 以降、標準ライブラリのみ。サードパーティパッケージは不要。

使用方法

root@kitploit:~
# 単一ホスト(スキームはデフォルトで https://)
./cve_2026_28318_check.py 10.0.0.5

# 明示的な URL / ポート
./cve_2026_28318_check.py https://10.0.0.5:443

# 複数ホストを同時に
./cve_2026_28318_check.py host-a:443 host-b https://host-c

# リストをスキャン(1行1ターゲット、'#' コメント可)、コンパクト出力
./cve_2026_28318_check.py -f targets.txt --brief

# パイプライン向け機械可読出力
./cve_2026_28318_check.py -f targets.txt --json > results.json

オプション

例

脆弱な Serv-U サーバ([!] マーカーと VULNERABLE は TTY 上で赤く表示されます):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5
[!] https://10.0.0.5: VULNERABLE  [missing-415-gate]
      Serv-U が identity プローブに対して 401(415 ではなく)を返しました。したがって、HF1 415 ゲートは存在せず(ビルド <= 15.5.4.108)、CVE-2026-28318 は未パッチです。これは修正が欠けていることを証明します。サービスをクラッシュさせるものではありません。15.5.4 HF1(ビルド 15.5.4.125+)を適用してください。

パッチ適用済みサーバ は PATCHED を返します(HF1 415 ゲートが identity プローブに応答しました):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.6
[+] https://10.0.0.6: PATCHED  [hf1-415-gate]
      Serv-U が identity プローブに対して 415 を返しました。したがって、15.5.4 HF1 入力検証ゲートが存在します(ビルド >= 15.5.4.125)。CVE-2026-28318 に対して脆弱ではありません。

リストをスキャン、ホストごとに1行の整列出力(--brief)。1 つでも VULNERABLE があれば終了コードは 1、なければ 0 となり、スクリプト内で便利です:

root@kitploit:~
$ ./cve_2026_28318_check.py -f targets.txt --brief; echo "exit: $?"
VULNERABLE  https://10.0.0.5                 missing-415-gate
PATCHED     https://10.0.0.6                 hf1-415-gate
NOT-SERV-U  https://10.0.0.7                 not-servu
ERROR       https://10.0.0.8                 no-response
exit: 1

パイプライン向け機械可読出力(--json):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5 --json
[
  {
    "target": "https://10.0.0.5",
    "verdict": "VULNERABLE",
    "reason": "missing-415-gate",
    "detail": "Serv-U returned 401 (not 415) to the identity probe, so the HF1 415 gate is ABSENT (build <= 15.5.4.108) and CVE-2026-28318 is unpatched. This proves the fix is missing; it does NOT crash the service. Apply 15.5.4 HF1 (build 15.5.4.125+)."
  }
]

判定

終了コード

コード意味
0VULNERABLE なターゲットなし
1少なくとも1つのターゲットが VULNERABLE
2使用法エラー(引数が不正 / ターゲットファイルが読み取れない)

制限事項

  • プロキシ / TLS 終端。 Serv-U の前にあるリバースプロキシやロードバランサーが Server ヘッダを除去(NOT-SERV-U として報告)したり、独自の 415 で応答(誤った PATCHED の可能性)することがあります。可能な限り、ツールを Serv-U 管理インターフェースに直接向けてください。
  • クラッシュテストではありません。 VULNERABLE 判定は HF1 入力検証修正が欠けていることを証明します。クラッシュを示すわけではありません(意図的な設計)。そのゲートはこの CVE の正確な代理指標です。
  • TLS は検証されません。 Serv-U 管理インターフェースは通常自己署名証明書を使用するため、スクリプトは証明書を検証しません。到達可能性を確認し、ステータスを読み取るだけです。
  • 到達可能性のみ。 結果は、スクリプトを実行したネットワーク位置からサーバが返す内容を反映します。

修復方法

SolarWinds Serv-U 15.5.4 Hotfix 1(ビルド 15.5.4.125) 以降にアップグレードしてください。これにより、ボディと空でない Content-Encoding の両方を持つリクエストを拒否する入力検証ゲートが追加されます。パッチを適用できるまでは、Serv-U サービスへのネットワークアクセスを信頼できるソースに制限してください。

ライセンス

このコードは MIT ライセンス の下で配布されています。

法的免責事項

事前の相互同意なくターゲットを攻撃するためにこのツールを使用することは違法です。該当するすべての地域、州、連邦法を遵守するのはエンドユーザの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害について責任を負いません。

関連情報

  • NVD: CVE-2026-28318
  • MITRE: CVE-2026-28318
ツールをダウンロード
identity プローブ応答判定意味
Serv-U Server ヘッダ、ステータス ≠ 415 (例: 401 / 404 / 200 / 302)VULNERABLE [missing-415-gate]HF1 415 ゲートが 存在しない ため、ビルド <= 15.5.4.108、CVE-2026-28318 未パッチ。
Serv-U Server ヘッダ、ステータス = 415PATCHED [hf1-415-gate]HF1 入力検証ゲートが存在するため、ビルド >= 15.5.4.125。脆弱ではない。
応答あり、ただし Serv-U Server ヘッダなしNOT-SERV-U [not-servu]Serv-U サーバではない、またはプロキシがヘッダを除去。
利用可能な応答なし / 接続失敗ERROR [no-response]HTTP サービスに到達不可、フィルタリング、TLS エラー、タイムアウト。
フラグ説明
targets1 つ以上の HOST[:PORT] または URL(スキームはデフォルトで https://)
-t, --target TARGETターゲットを追加(繰り返し可)
-f, --file FILEファイルからターゲットを読み取り(1行1つ、# はコメント)
-b, --briefターゲットごとに1行の整列出力。多数のホストスキャンに最適
--json構造化 JSON 結果を出力
--no-color色付き出力を無効化(NO_COLOR および非 TTY にも対応)
--timeout SECSプローブごとのタイムアウト(デフォルト: 10)
-v, --verbose送信されたプローブと生の応答ヘッダを表示
判定理由タグ意味
VULNERABLEmissing-415-gateHF1 415 ゲートのない Serv-U サーバ。したがってビルド <= 15.5.4.108、CVE-2026-28318 未パッチ。直ちにパッチを適用してください。
PATCHEDhf1-415-gateidentity プローブに 415 で応答する Serv-U サーバ。したがって HF1 修正が存在(ビルド >= 15.5.4.125)。
NOT-SERV-Unot-servu応答あり、ただし Serv-U Server ヘッダなし。Serv-U ではないか、プロキシが除去。
ERRORno-response利用可能な HTTP 応答なし(そのポートにサービスがない、フィルタリングされている、TLS エラー、タイムアウト)。
ERRORbad-targetターゲット引数を解析できない。