nPOP Plus

機能・設定ガイド · 非公式改良版

ページ内検索:Ctrl+F印刷・PDF保存:ブラウザーの印刷機能
このページは補足資料です。作成当時の旧ファイル名・手順・版情報が含まれる場合があります。現在の使い方は機能一覧とオプション説明を確認してください。

nPOP 非公式改良版 セキュリティ確認結果

確認日:2026年11月1日 修正版:1.2.8-2026.11.01-5(32bit/64bit)

確認範囲

今回追加・変更したHTML表示、IMAP受信/本文プレビュー/監視、添付保存、Google OAuth補助機能を中心に、関連する既存処理もソースで確認しました。人工データによる回帰テストと、実際のWebView2エンジンによるHTMLの動作確認を実施しました。

独立した専門機関による監査や、すべてのコードを網羅する検証ではありません。未知の脆弱性がないことを保証するものではありません。実アカウントでの攻撃テスト、実メールサーバーへの診断、第三者部品・Windows・ブラウザーの全CVE照合は実施していません。

修正した問題

1. 外部ブラウザー用HTMLの能動的な内容

修正前は、メールから復号したHTML本文をそのまま一時HTMLファイルに保存してブラウザーへ渡していました。利用者がHTML表示を実行した場合、送信者が埋め込んだJavaScript、フォーム、自動転送や外部資源がブラウザー側で処理される余地がありました。内部HTML表示に設定していた制限は、この経路には適用されていませんでした。

修正後は、本文をトップレベルのファイル文書に直接埋め込まず、権限を許可しないsandbox付きの隔離フレームで表示します。外側の文書にはCSPを設定し、スクリプト、オブジェクト、フォーム送信、ネットワーク宛てのフレーム遷移を制限します。外部画像は既存の「外部画像を許可」設定に従い、許可しない場合は読み込みません。外部表示用HTMLには入力サイズ上限も設けました。

ブラウザーエンジンのスクリプト設定を有効にした状態でも、人工メール中のスクリプトやイベント処理で表示内容が書き換わらないこと、フォーム送信・追跡画像・CSSによる外部参照・外部フレーム・オブジェクト・自動転送が抑止されることを確認しました。明示的に画像を許可した場合だけ、画像リクエストが許可されることも確認しています。テストでは通信を捕捉・遮断し、実サービスへ送信しません。

表示上の変更:外部ブラウザー内のメール本文のリンク遷移も制限します。リンクを開く場合は、nPOPのテキスト表示、または内部HTML表示で操作してください。 古いブラウザーでは隔離表示が利用できない場合があります。更新されたブラウザーを使用してください。元メールや添付ファイルそのものを無害化する機能ではありません。

2. IMAPの継続応答によるメモリ消費

IMAPの1行の長さと本文データには上限がありましたが、複数行のFETCH応答をまとめる文字列には合計サイズの制限がありませんでした。異常な応答を繰り返すサーバーにより、応答完了前にメモリを消費し続ける可能性がありました。

FETCH応答の継続文字列にも4MiBの上限を設け、追加で確保する前にエラーにします。上限超過を拒否し、通常の継続応答は引き続き処理できることをテストしました。確認した影響は可用性(メモリ消費・応答停止)であり、これだけで任意コード実行が可能と確認したものではありません。

追加の防御改善

内部WebView2の資源要求フィルターは、対応するRuntimeではフレーム内の要求にも適用される新しいAPIを使用するようにしました。旧Runtimeでは従来のフィルターに戻し、CSPとスクリプト禁止など既存の制限を併用します。

その他の確認事項

残る課題と運用条件

  1. 通常の保存パスワードは強い保管方式ではありません。 従来互換のINIでは、ユーザー名由来の値を使った可逆の難読化を利用しており、INIを読める第三者に対して秘密を保護する方式ではありません。今回、この保存形式は変更していません。INI・メールデータ・バックアップを第三者に公開しないでください。Google OAuthトークンのDPAPI保存とは別の仕組みです。
  2. 通常のパスワード認証では、非暗号化通信や証明書検証を無効にする設定も残っています。TLS/STARTTLSと証明書検証を有効にしてください。旧TLSを明示的に選ぶ設定や、OSのTLSポリシーにも注意が必要です。
  3. 外部画像の許可を有効にすると、送信者のサーバーへ画像の取得要求が届くため、開封の推測やIPアドレスの記録が可能になります。
  4. WebView2 Runtimeと外部ブラウザーの更新は、利用環境側で必要です。同梱Loader DLLの版番号は、利用中のRuntimeの版番号とは異なります。

検証

公開用一式には実行ファイル版のみを含めます。ソースコード版は公開用一式に含めません。

参照した公式資料

https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/security

https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2_22

https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/sandbox

2026-11-02 改訂20の追加確認

上記は従来版を対象とした記録です。改訂20では受信・SMTPパスワードに従来互換/DPAPI/マスター方式の選択を追加しました。合成データだけを使い、32bit・64bitのローカル試験でPBKDF2の独立した参照値、GCM/DPAPIの往復、値の改変・アカウント欄・項目・ユーザーの不一致、Unicode、マスターの変更と誤入力、実際の設定ダイアログでの3方式移行、再起動時解除とキャンセル、保護を弱める変更の拒否、旧欄の削除、INI置き換え失敗時の元ファイル保持を確認しました。回帰試験も実行しています。実際の認証情報やメールは使っていません。独立した第三者監査ではありません。詳しくはメールパスワードの保護方式をご覧ください。

ページの先頭へ ↑