Notepad++は2026年11月6日、バージョン8.9.9をリリースしました。プロセス間メッセージング、昇格権限でのファイル保存、クリップボード処理、コマンドディスパッチ、MIME Toolsのデコード処理に関わる6件のセキュリティ脆弱性を修正しています。
Cybersecurity news
リリース告知では6件すべてが修正済みとされていますが、CVE識別子はまだ割り当てられていません。いくつかの問題はバージョン8.9.8以前に影響し、リモートから無制限に悪用されるものではなく、ローカル環境での攻撃経路を開くものです。
今回のアップデートは、以前のNotepad++の脆弱性修正に続くセキュリティ強化の一環です。ただし、見過ごせない食い違いが残っています。リリース告知は8.9.9を修正版としていますが、関連するGitHubのセキュリティアドバイザリの一部には、修正済みバージョンが記載されていません。管理者は対策状況を記録する際、ベンダーのリリース上の説明とアドバイザリのメタデータを区別して扱う必要があります。
Notepad++ 8.9.9がリリース
このうち2件は、アプリケーション間でデータをやり取りするWindowsの仕組み「WM_COPYDATA」に関連しています。報告されている認証バイパスでは、呼び出し元が指定したウィンドウハンドルをそのまま信頼しており、そのウィンドウを所有するプロセスが実際にメッセージを送信したかを検証していません。このため攻撃者は、正規のNotepad++のウィンドウを名指しすることで、無関係な悪意ある入力を信頼されたものに見せかけることができます。
これと組み合わさる権限昇格のシナリオが成立するには、昇格済みのNotepad++インスタンス、インストールおよび初期化済みのNppExecプラグイン、そして同じ実行ファイルパスから動作する別の正規インスタンスが必要です。これらの条件がそろうと、偽装されたプラグインメッセージによって、昇格したエディタの権限でコマンドを実行できます。研究者は、この問題をネットワーク経由のリモートコード実行ではなく、条件付きのローカル権限昇格と位置づけています。
さらに、UACブローカー経由で保護されたファイルを保存する処理には、TOCTOU(チェック時と使用時の競合)の脆弱性があります。Notepad++は、ユーザーが書き込み可能な一時ファイルをいったん閉じ、その後に昇格権限のヘルパーが同じファイルを開き直す仕組みです。
StudySecurity
ローカルのマルウェアは、この受け渡しの最中にファイルの内容を差し替えることができます。ユーザーが正規の昇格プロンプトを承認すると、攻撃者が用意したデータが保護対象の保存先を上書きしてしまいます。ただし、保存先を任意に選択できることは実証されていません。
クリップボードにも脆弱性があります。「Paste Binary」操作は、渡されたバイト数をそのまま信頼し、クリップボードに確保された領域の実際のサイズを検証していません。3バイトのバッファに4,096バイトの長さを宣言して試したところ、プロセスのヒープデータ4,093バイトが文書内に出力されました。これにより、文書の断片やファイルシステムのパスといった機密情報が漏えいするおそれがあります。
また、別の欠陥では、検証されていないNPPM_MENUCOMMAND識別子がコマンド配列のインデックスとして使われます。その結果、範囲外のデータがShellExecuteに渡される可能性があります。ただし、研究者は、結果として生成されるコマンド文字列を制御できることまでは実証していません。この点から、確実に任意のコマンドを実行できるとまでは言えません。
MIME ToolsのSAML Decode機能にも、ヒープオーバーフローがあります。原因は、上限のないDEFLATE展開と、200,000バイトのバッファへの未検証のコピーです。細工された入力をデコードすると、エディタがクラッシュし、場合によってはコードが実行されるおそれがあります。MIME Tools 3.2では、3.1までの影響を受けるバージョンの問題が修正されています。
ユーザーは、公式のリリース告知からアップデートを入手し、MIME Tools 3.2になっていることを確認してください。不要な権限昇格も避けることが重要です。過去のプラグインを悪用したマルウェアキャンペーンからも分かるように、インストール済みの拡張機能やアプリケーションの権限を見直すことが欠かせません。
SOCにアラートの文脈を提供し、インシデントを迅速に止めましょう。1万6,000のSOCの脅威インテリジェンスを統合。
翻訳元: https://gbhackers.com/notepad-8-9-9-released-to-fix-6-security-vulnerabilities/