CVE-2026-26980 Ghost CMS SQLインジェクション PoC
このリポジトリは、CVE-2026-26980 で説明されている Ghost CMS Content API SQLインジェクションの脆弱性を実証および検証するための Go ベースの概念実証ツールです。実装はメインの Go ソースファイルに実装されたエクスプロイトフローに基づいており、許可されたセキュリティ研究およびテストのみを目的としています。
概要
この PoC は、Content API スラッグフィルターの順序処理の脆弱性の影響を受ける Ghost CMS インスタンスを対象としています。次のことが可能です:
- ターゲットがSQLインジェクションに対して脆弱かどうかを確認する
- 可能な場合にContent APIキーを取得する
- スラッグアンカーを列挙する
- 管理者のメールアドレスを抽出する
- オプションで管理者パスワードハッシュと管理者APIシークレットを抽出する
- パッチ適用済みのターゲットがもはや脆弱でないことを検証する
影響を受けるバージョン
- 影響を受けるバージョン: Ghost CMS 3.24.0 から 6.19.0
- 修正バージョン: Ghost CMS 6.19.1
- CVE: CVE-2026-26980
- CWE: CWE-89
- Advisory: GHSA-w52v-v783-gw97
プロジェクト構造
- ghost_sqli_cms.go: エクスプロイトとCLIのメインGo実装
- ghost_sqli/: サポートアセットまたは関連リソース
- images/: スクリーンショットまたは参考資料
- go.mod: Goモジュール定義
必要条件
- Go 1.26.4 または互換性のある新しいバージョン
- ターゲットのGhost CMSインスタンスへのネットワークアクセス
- 脆弱であるか、検証テストを目的としたターゲット
クローンとインストール
git clone https://github.com/gagaltotal/CVE-2026-26980-Ghost-CMS-Api
cd CVE-2026-26980-Ghost-CMS-Api
go mod init CVE-2026-26980-Ghost-CMS-Api
go mod tidy
ツールのビルド
プロジェクトルートから、以下のコマンドでバイナリをビルドします:
go build -o ghost-sqli ghost_sqli_cms.go
OR
go run ghost_sqli_cms.go
使用方法

ヘルプの使用

基本エクスプロイト

./ghost-sqli --url http://target.example:2368
パスワードハッシュとAPIシークレットの抽出
./ghost-sqli --url http://target.example:2368 --extract-password --extract-api-key
パッチ適用済みインスタンスが修正されたことを検証
./ghost-sqli --url http://target.example:2368 --validate-fix
既存のContent APIキーの使用
./ghost-sqli --url http://target.example:2368 --content-key "your-content-api-key"
詳細出力の有効化
./ghost-sqli --url http://target.example:2368 -v
コマンドラインオプション
- --url : ターゲットGhost CMSのベースURL(必須)
- --validate-fix: ターゲットがもはや脆弱でないかテストする
- --extract-password: 管理者のbcryptハッシュも抽出する
- --extract-api-key: 管理者APIシークレットも抽出する
- --content-key : セットアップをスキップし、指定されたContent APIキーを使用する
- -v, --verbose: デバッグ出力を有効にする
- -h, --help: ヘルプ情報を表示する
セキュリティに関する注意事項
このプロジェクトは、教育および許可されたセキュリティ評価目的のみで提供されます。所有しているシステム、テストを許可されているシステム、または管理された環境で評価しているシステムのみに対して使用してください。第三者のシステムへの不正アクセスまたは悪用は違法であり、該当する法律に違反する可能性があります。
注意事項
- ツールは可能な場合、ターゲットインスタンスに対してセットアップと認証手順を実行します。
- 一部のターゲットは、Ghost CMSのバージョンやデプロイ設定に応じて手動調整が必要な場合があります。
- 結果はターゲット環境、応答動作、脆弱性がパッチされているかどうかによって異なる場合があります。
参考文献
- Ghost CMS security advisories
- CVE-2026-26980
- GHSA-w52v-v783-gw97