概要
セキュリティ研究者らは、Notepad++バージョン8.8.3に存在する重大なDLLハイジャック脆弱性(CVE-2025-56383)を発見しました。この脆弱性により、攻撃者はアプリケーションのプラグインディレクトリ内の正規のダイナミックリンクライブラリ(DLL)ファイルを、同じエクスポート関数を持つ悪意のあるバージョンに置き換えることで、任意のコードを実行できる可能性があります。
技術的詳細
この脆弱性は、特にNotepad++のプラグインシステム、具体的にはNotepad++\plugins\NppExport\ディレクトリに存在するNppExport.dllファイルを標的としています。攻撃者は、正規のDLLと同じエクスポート関数を持つ悪意のあるDLLファイルを作成し、正規のDLLへの呼び出しを転送しつつ、同時に有害なコードを実行させることでこの脆弱性を悪用できます。
ユーザーがNotepad++を起動すると、アプリケーションはこれらのプラグインDLLを自動的にロードするため、悪意のあるコード実行の機会が生まれます。攻撃手法には、元のDLLファイルを、正規に見えるが埋め込まれた悪意のある機能を含む細工されたバージョンに置き換えることが含まれます。
- CVE ID: CVE-2025-56383
- 影響を受ける製品: Notepad++ v8.8.3(および潜在的に他のバージョン)
- 脆弱性の種類: DLLハイジャック
- CVSS 3.1スコア: 7.8(高)
影響と推奨される対策
この脆弱性の悪用には、攻撃者がローカルファイルシステムへのアクセス権を持ち、Notepad++のインストールディレクトリ内のファイルを変更できる必要があります。これにより攻撃範囲は限定されますが、攻撃者がすでに何らかのシステムアクセス権を持っているシナリオでは、効果的な権限昇格または永続化メカニズムとして機能する可能性があります。
この脆弱性にはCVSS 3.1スコア7.8(高)が割り当てられており、重大なセキュリティ上の影響を示しています。攻撃ベクトルはローカルであり、複雑性は低く、成功には低い権限とユーザーの操作が必要です。
セキュリティ研究者のzer0t0氏は、GitHubで概念実証(PoC)を公開しており、NppExport.dllプラグインを使用して脆弱性がどのように悪用されるかを示しています。これには、元のDLLをoriginal-NppExport.dllという名前に変更し、その場所に偽造されたNppExport.dllを配置するデモンストレーションが含まれています。
現時点では公式パッチはリリースされていませんが、ユーザーは非公式なソースからNotepad++をダウンロードしたり、信頼できないソフトウェアがシステムを変更することを許可したりする際には注意を払う必要があります。組織は、プラグインDLLファイルへの不正な変更がないかNotepad++のインストールを監視すべきです。この脆弱性はバージョン8.8.3だけでなく、同様のプラグインロードメカニズムを使用する他のバージョンのNotepad++にも影響を与える可能性があります。ユーザーはプラグインファイルの整合性を確認し、Notepad++のインストールディレクトリへの書き込みアクセスを制限することを検討してください。
この発見は、安全なアプリケーション設計と、外部コンポーネントをロードするソフトウェアにおける堅牢なファイル整合性検証の必要性を浮き彫りにしています。Notepad++は様々な環境で広く使用され続けているため、この脆弱性への対処はユーザーと開発チーム双方にとって優先事項となるでしょう。
元記事: https://gbhackers.com/notepad-dll-hijack-flaw-lets-attackers-run-malicious-code/
