Notepad++は、特定の条件下で任意コードの実行を可能にする重大な欠陥を含む複数のセキュリティ脆弱性に対処するため、バージョン8.9.6.1をリリースしました。
この更新は2026年5月26日に公開され、CVE-2026-48770、CVE-2026-48778、CVE-2026-48800として追跡される3つの脆弱性にパッチを適用しています。これらの問題はバージョン8.9.6以前に影響し、設定ファイルの不適切な処理に関連するリスクを浮き彫りにしています。
重大なNotepad++の脆弱性
最も深刻な問題であるCVE-2026-48778は、Notepad++が config.xml ファイル、特に <GUIConfig name=”commandLineInterpreter”> パラメータを処理する方法に起因しています。
このアプリケーションは、検証、許可リストの適用、整合性チェックなしにこの値を読み込み、ユーザーが「Open Containing Folder in cmd」機能を呼び出す際にその値を使用します。この動作により、攻撃者はアプリケーションを通じて起動される実行ファイルを制御することができます。
典型的な悪用シナリオでは、悪意のある値が設定ファイルに注入され、その後この機能がトリガーされた際にWindows ShellExecuteを介して実行されます。
概念実証では、 calc.exe をパラメータとして渡すことで、想定されるコマンドプロンプトの代わりにWindowsの電卓が起動することが示されています。これにより、設定の操作による任意コード実行の実現可能性が確認されています。
この脆弱性はユーザーの操作を必要としますが、いくつかの現実的な攻撃経路がそのリスクを高めています。攻撃者は、現在のユーザーコンテキスト下で %APPDATA%\Notepad++\config.xml ファイルを直接変更したり、 -settingsDir パラメータを利用して攻撃者が制御するディレクトリを指す悪意のあるショートカットファイルを配布したりすることができます。
その他のシナリオとしては、Notepad++がサポートするクラウド同期された設定パスへの汚染、またはソーシャルエンジニアリング技術を使ってユーザーを騙し、細工されたアーカイブをAppDataの場所に解凍させる方法などがあります。これらの手法により、攻撃者は即座の疑念を抱かせることなく正当なワークフローを悪用することができます。
その他の修正された脆弱性
- CVE-2026-48770:不正な構造によって引き起こされるクラッシュの脆弱性で、サービス拒否状態を引き起こす可能性がある
- CVE-2026-48800: shortcuts.xml の不適切な処理に関連する任意コード実行の問題
主要な欠陥であるCVE-2026-48778は、CWE-78(OSコマンドインジェクション)に分類され、システムの整合性と実行フローへの影響から高い深刻度の評価を受けています。
ユーザーの操作を必要とするにもかかわらず、低い攻撃複雑度と特権要件の不要さにより、現実の環境では重大なセキュリティ上の懸念事項となっています。
ユーザーおよび組織は、直ちにNotepad++バージョン8.9.6.1にアップグレードすることを強く推奨します。パッチを適用することで、設定の処理を改善し、リスクを軽減できます。
追加の防御策として、設定ファイルへの変更の監視、機密ディレクトリへの書き込み権限の制限、および可能な場合には実行ファイルパスの検証などが挙げられます。
このインシデントは、広く展開されているアプリケーションにおける未検証の設定入力に関連する、より広範なセキュリティリスクを浮き彫りにしています。適切な入力検証の確保と実行パスの制限は、同様の脅威へのエクスポージャーを低減するための重要な手順です。
翻訳元: https://gbhackers.com/critical-notepad-flaw-remote-code-execution-attacks/