
CVE-2026-48842(Roundcube Webmailのvirtuser_queryプラグインにおける認証前SQLインジェクション)を検出するPythonチェッカー。バージョン、プラグインパスを検出し、ログインプローブによるSQLiを検証します。
Roundcube Webmail(オプションの virtuser_query プラグイン)における CVE-2026-48842 用の Python 3 チェッカー。
この PoC は PoCbit に掲載されています — pocbit.org の CVE-2026-48842。
PoC を実行すると PoCbit ヘッダーが出力され、JSONL 行には pocbit / pocbit_page が含まれます。
| 製品 | Roundcube Webmail |
| コンポーネント | 組み込みプラグイン virtuser_query(DB ユーザー/メール/ホスト検索) |
| 影響を受けるバージョン | 1.6.x < 1.6.16、1.7.x < 1.7.1(プラグインが有効な場合、古い 1.4/1.5 系も影響を受ける可能性あり — ディストリビューションごとにパッチを適用) |
| 修正済み | 1.6.16、1.7.1 |
| CVSS 3.1 | 8.1 High (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| CWE | CWE-89 |
| 認証 | 不要(ログイン / 検索パス) |
virtuser_query が設定されている場合(config.inc.php の $config['virtuser_query'])、ユーザー名またはメールアドレスが preg_replace('/%u/', $dbh->escape(...), ...) を介して SQL テンプレートに代入されます。PHP は置換文字列内のバックスラッシュを解釈し、SQL エスケープを無効化します — 認証前 SQL インジェクション(修正: str_replace を使用)。
アドバイザリ: Roundcube セキュリティアップデート 2026-05-24
pip install -r requirements.txt
# Detect Roundcube + version + virtuser plugin file
python poc.py -u https://webmail.example.com --json
# Active SQLi probe (SLEEP / error heuristics on login POST)
python poc.py -u https://webmail.example.com --verify
python poc.py --list targets.example.txt --threads 20 --quiet
python poc.py --list targets.example.txt --verify --sqli-delay 5
virtuser_query が有効である必要があります(すべてのインストールでデフォルト有効ではありません)。PoC は到達可能な場合にプラグインの PHP パスを報告します。--verify は細工した _user 値を ?_task=login に送信します(インジェクション試行に有効なパスワードは不要)。$config['plugins'] から virtuser_query を削除してください。body="rcmail" && body="roundcube"
title="Roundcube Webmail"
許可されたテストにのみ使用してください。