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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/r0x19/cve-2026-82222
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubr0x19/cve-2026-82222

CVE-2026-82222

GiveWP <= 4.16.7.1 未認証のPHPオブジェクトインジェクション → RCE

リポジトリを見る
1520日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-82222 — GiveWP <= 4.16.7.1 認証なしPHPオブジェクトインジェクション → RCE

作成者: Rx019
CVSS: 10.0(緊急)
種別: 認証なしPHPオブジェクトインジェクション → リモートコード実行
プラグイン: GiveWP (give) — 寄付プラグインおよび資金調達プラットフォーム
影響を受けるバージョン: <= 4.16.7.1
修正済みバージョン: 4.16.8


説明

GiveWPは、寄付者のlast_nameをサニタイズせずにPHPセッションに保存します。give_lastフィールドなしで寄付が送信されると、GiveWPはデータベースから生の値を直接セッションに逆シリアライズします。これにより、認証されていない攻撃者が寄付者プロフィールエンドポイントを介してlast_nameにPHPシリアライズオブジェクトを注入し、細工された寄付を送信することで逆シリアライズをトリガーできます。その結果、GiveWPに同梱されているベンダーライブラリに存在する事前構築済みPOPチェーンを介して任意のコマンド実行が可能になります。


POPチェーン

root@kitploit:~
TCPDF::__destruct()
  └─ Session::getBag()           ← $attributeNameで指定されたメソッドを呼び出す
       └─ DonationFactory::__call()
            └─ system($command)   ← $commandは$attributeNameから取得

使用されるベンダークラス:

クラスファイル
TCPDFvendor/tecnickcom/tcpdf/tcpdf.php
Give\Vendors\Symfony\...\Sessionvendor/symfony/http-foundation/Session/Session.php
Give\TestData\Factories\DonationFactorysrc/TestData/Factories/DonationFactory.php

エクスプロイトの流れ

root@kitploit:~
1. 寄付者として登録         → 認証済みセッション(wp-loginクッキー)
2. POST /wp-admin/profile.php
   last_name = system()コマンドを埋め込んだシリアライズ済みTCPDFチェーン
3. POST /wp-admin/admin-ajax.php
   action=give_process_donation  (give_lastフィールドは省略)
   → GiveWPがDBからlast_nameを読み取り、生のオブジェクトをセッションに書き込む
4. GET /?p={form_id}
   → PHPセッションの破棄でTCPDF::__destruct()が発火
   → POPチェーンがsystem(command)を実行
5. シェル/管理者作成を確認

要件

root@kitploit:~
pip install requests rich

Python >= 3.9


ファイル

ファイル説明
CVE-2026-82222.py単一ターゲット用PoC — 詳細なステップバイステップ出力
CVE-2026-82222-MASS.py大量スキャナー — スレッド並列バッチモード

使用方法

単一ターゲット

root@kitploit:~
python CVE-2026-82222.py

対話型プロンプト:

root@kitploit:~
  Target URL: https://victim.com

または直接指定:

root@kitploit:~
python CVE-2026-82222.py https://victim.com

大量スキャナー

root@kitploit:~
# ファイルからバッチ実行
python CVE-2026-82222-MASS.py -f targets.txt

# スレッド数をカスタム指定
python CVE-2026-82222-MASS.py -f targets.txt -t 10

# 複数ターゲットをインライン指定
python CVE-2026-82222-MASS.py https://site1.com https://site2.com

# 対話型メニュー
python CVE-2026-82222-MASS.py

バッチファイル形式:

root@kitploit:~
# #で始まる行は無視されます
https://target1.com
https://target2.com
target3.com          # プロトコルはhttps://として自動付加されます
http://target4.com

出力

単一モード

root@kitploit:~
╭─ CVE-2026-82222 | Rx019 ─────────────────────────────╮
│                                                        │
│  PWNED (shell + direct)  https://victim.com           │
│  Version : 4.15.0                                     │
│  WAF     : Wordfence                                   │
│  Shell   : https://victim.com/wp-content/uploads/...  │
│  Method  : shell + direct (no .php write needed)       │
│  Admin   : rxadm3f91:RxAdm!k2m9xp7 ([email protected]) │
│                                                        │
╰────────────────────────────────────────────────────────╯

バッチサマリー

root@kitploit:~
  Vulnerable : 12   Partial : 3   Patched : 44   Not Vuln : 21   Errors : 2   Total : 82

結果は~/Documents/CVE/CVE-2026-82222/に保存されます:

ファイル内容
CVE-2026-82222_YYYYMMDD_HHMMSS.txt単一実行の結果
CVE-2026-82222_batch_YYYYMMDD_HHMMSS.txtバッチ全体の結果
success_results.txtVULN/PARTIAL行を追記

攻撃経路

エクスプロイトは2つの主要な経路を順番に試行します:

経路A — 直接管理者作成(シェルファイルを書き込まない)

  1. wp_create_user() PHPコードをbase64としてTCPDFチェーンに注入
  2. チェーンを発火 — GiveWPがサーバーサイドでコードを実行
  3. 作成した管理者としてログインして確認
  4. WordPressプラグイン/テーマファイルエディタ経由でシェルを配置

経路B — GiveWPチェーンによるシェル配置

経路Aが失敗した場合、または管理者ログインを確認できない場合に使用します。

  1. 新しい寄付者セッションを登録(新しいPHPセッションファイル — 経路Aのワーカーによるロック競合を回避)
  2. プロフィールエンドポイント経由でlast_nameにシェル配置コマンドを注入
  3. セッションを汚染(give_lastなしで寄付)
  4. 逆シリアライズをトリガー(/?p={form_id})
  5. アップロード/プラグイン/テーマディレクトリ全体でシェルの存在を確認
  6. フォールバック: id | teeビーコンをアップロードディレクトリの.txtファイルに書き込み

経路C — シェル経由で管理者作成

シェルが確認されたが管理者がまだ存在しない場合、ウェブシェルの?c=パラメータを介してwp_create_user()を使用し、シェル経由で管理者を作成します。


WAF対策

WAF戦略
Imunify360X-Forwarded-For / X-Real-IPスプーフィングヘッダーを除去
WordfenceプールからUser-Agentをローテーション
CloudflareAccept-Encoding: gzip, deflate, brを設定

注意事項

  • エクスプロイトにはGiveWPに公開済みの寄付フォームが少なくとも1つ必要です
  • ターゲットサイトで登録が有効である必要があります(WordPressコア設定)
  • PHP-FPMワーカープールの解放: 直接管理者チェーン実行後、セッションを保持するワーカーが後続リクエストの前に解放されるよう30秒のスリープが挿入されます
  • wp-config.phpのDISALLOW_FILE_EDITはプラグイン/テーマエディタ経由のベクターをブロックします — スクリプトはこれを早期に検出し、経路Bにフォールバックします
  • シェルファイル名: Rx{100-999}.php — 実行ごとにランダム化されます

免責事項

このツールは認可されたセキュリティテストおよび研究目的のみで公開されています。
所有しているシステム、または明示的な書面によるテスト許可を得たシステムに対してのみ使用してください。
無断使用は違法かつ非倫理的です。

ツールをダウンロード