**Roundcube Webmail – SVG `feImage` で画像ブロックを迂回しメール開封を追跡**
---
### 1. 概要
- **問題点:** Roundcube Webmail のデフォルトの画像ブロック機能は、SVG フィルタ(`<feImage>`)を使うことで回避可能です。
- **結果:** 攻撃者は隠しトラッキングピクセルを埋め込み、画像ブロックが有効な場合でも読み込まれ、メール開封状況を正確に監視できてしまいます。
### 2. 技術的詳細
| コンポーネント | 用途 |
|----------------|------|
| `<svg>` 要素 | フィルタ定義を保持。最小限で不可視に設定可能。 |
| `<filter id="track">` | SVG フィルタパイプラインを定義。 |
| `<feImage xlink:href="https://tracker.example.com/pixel.png"/>` | 外部画像(トラッキングピクセル)をロード。 |
| `<feComposite>` | 読み込んだ画像を出力にマージ。 |
- **実行フロー:**
1. メール本文に SVG スニペットが含まれる。
2. Roundcube が HTML を解析し、ブロックルールにより `<img>` タグは無視される。
3. ブラウザが SVG フィルタを処理し、ピクセル URL へのネットワークリクエストが発生する。
### 3. ユーザーへの影響
- **プライバシー:** 画像ブロックだけでは不十分。メール開封情報は依然として記録される可能性があります。
- **セキュリティ:** トラッカー側が悪意あるペイロードをホストしている場合、データ流出のリスクもあります。
### 4. 緩和策
1. **Roundcube の更新** – 新しいバージョンでは SVG フィルタに対するチェックが強化されています。
2. **クライアント側フィルタリング** – uBlock Origin 等のブラウザ拡張機能で `<feImage>` リクエストをブロック。
3. **ホワイトリスト設定** – `mail.default_image_blocking` で信頼できる画像ホストのみ許可するよう構成。
### 5. 管理者向け推奨アクション
- `config.inc.php` を確認し、以下を設定:
```php
$config['image_blocking'] = true; // 画像ブロックを強制
$config['allowed_image_hosts'] = ['trusted.com'];
```
- 定期的に受信メールで `<svg>` タグの有無を監査。
---
SVG `feImage` 技術を理解することで、管理者とユーザーはプライバシー保護とメール通信の安全性をより高めることができます。
## Japanese Translation:
(以下の文章を日本語に翻訳します)
## Text to translate
**Summary:**
The main issue is that Roundcube’s HTML sanitizer allowed attackers to embed invisible SVG filters that bypassed the “Block remote images” setting, letting email‑open tracking continue even when images were blocked. The bug occurred because the `is_image_attribute()` function did not check the `href` attribute on `<feImage>` tags; instead, the less restrictive `wash_link()` was used, permitting external HTTP/HTTPS URLs. The patch unifies the checks for `<use>`, `<image>`, and `<feImage>` into a single regex that routes them through `wash_uri()`, which blocks any external link for all three elements.
Previously only `<img>`, `<image>`, and `<use>` were sanitized with `wash_uri()`. A proof‑of‑concept SVG used an off‑screen 1×1 filter to stay invisible, proving the vulnerability. The issue was reported on 2026‑02‑08, patched the same day, and affects Roundcube releases older than 1.5.13 or 1.6.13.
Updating to these patched versions restores proper remote‑image blocking, stopping attackers from logging user IPs or fingerprinting browsers through hidden SVG filters. Users running outdated Roundcube risk covert data exfiltration or activity monitoring; the fix protects email clients and their customers from unintended tracking and privacy breaches.