Roundcube Webmail Vulnerability Allows Hackers to Execute Malicious SQL Queries
2026/05/28 gbhackers — Roundcube Webmail のユーザーに対して、複数のセキュリティ脆弱性に対応するための、速やかなシステム・アップデートが強く推奨されている。一連の脆弱性の中には、認証情報やログイン権限を必要としない攻撃者に対して、悪意のデータベース・クエリの実行を許す、深刻な SQL インジェクションの欠陥が含まれる。これらの脆弱性は、2026年5月24日に公開されたバージョン 1.6.16/1.7.1 で修正されている。このセキュリティ・アップデートにより、長期サポート版と現行版がカバーされる。

Roundcube Webmail の脆弱性
最も深刻な問題は、virtuser_query プラグインに存在する認証前 SQL インジェクション脆弱性である。この問題は、preg_replace のバックスラッシュ・エスケープ・バイパスに起因する、不適切な入力サニタイズにより発生し、攻撃者は認証を必要とせずに任意の SQL コマンドの注入が可能となる。
前述のとおり、この攻撃では有効な認証情報が必要とされないため、悪用のリスクが大幅に高まる。攻撃に成功した脅威アクターは、機密データへのアクセス/データベース内容の改竄/権限昇格を実行する可能性がある。
Roundcube チームが対処したものには、 LDAP の autovalues オプションに関連するコード・インジェクションの脆弱性もある。この問題は、安全でないコード評価機能に起因しているが、この機能を削除することで、攻撃者によるリモート・コード実行は防止された。
また、今回のアップデートでは、複雑な攻撃チェーンとして悪用される可能性がある、複数のインジェクション/バイパスの脆弱性も修正されている。
修正されたセキュリティ問題
上記の脆弱性に加えて、クライアント側/サーバ側における複数のセキュリティ問題も修正された。修正された主な脆弱性は、以下の通りである。
- ドラフト復元ダイアログの件名フィールドの蓄積型 XSS 脆弱性による、HTML/CSS インジェクションの可能性。
- SVG アニメーションの attributeName スタイル操作による、HTMLサニタイザーに対する CSS インジェクション。
- preg_replaceのバックスラッシュ・エスケープ回避による、virtuser_queryプラグインでの事前認証 SQL インジェクション。
- 特別に細工されたローカル・アドレス URL を使用した SSRF 対策の回避。
- リモートリソースがブロックされている場合の、リモートリソースの取得。
- CSS var()操作によるリモート画像ブロックの回避。
- Redis/Memcache セッション・ポイズニングによる任意のファイル削除。
- LDAP 自動値オプションにおける、安全でないコード評価によるコード・インジェクションの脆弱性。
これらの脆弱性は、Orange Cyberdefense Vulnerability Disclosure Team や独立研究者を含む、複数のセキュリティ研究者により報告されたものである。このインシデントが示すのは、協調的な脆弱性開示と迅速なパッチ適用の重要性である。
Roundcube のバージョン 1.6.x/1.7.x を使用している、すべての環境が影響を受ける。管理者に対して強く推奨されるのは、バージョン 1.6.16/1.7.1 への速やかなアップグレードである。
さらに、組織にとって必要なことは、システムログを確認して不審な活動の有無を調査することである。それに加えて、virtuser_query などの不要なプラグインを無効化し、厳格なアクセス制御を適用することで、リスクを最小限に抑えることが推奨される。
今回のリリースは、修正された脆弱性の深刻度および件数の観点から、きわめて重要なものである。特にインターネット公開環境で Roundcube Webmail を運用する組織は、パッチ適用を最優先事項として実施し、潜在的な悪用を防止するための包括的なセキュリティ点検を行う必要がある。
訳者後書:今回のアップデートの背景にあるのは、プログラムが外部からの入力を十分に整理しきれない サニタイズ不足です。 具体的には、 virtuser_query プラグインにおいて preg_replace 関数の処理が巧みに回避されてしまい、 本来は 実行されるべきではない命令が、データベースへ直接届いてしまう SQL インジェクションが発生しています。 また、LDAP の設定項目でも、安全ではない方法でプログラムが実行される仕組みが残っていたため、 外部からコードを送り込まれるリスクが生じていました。このような入力値の検証ミスや古い機能の設計上の不備が、複数の深刻な脆弱性を生むきっかけとなっています。ご利用のチームは、ご注意ください。よろしければ、Roundcube での検索も、ご参照ください。
You must be logged in to post a comment.