CVE-2026-20841 は クラシック notepad.exe ではなく、Microsoft Store 配布の Windows Notepad アプリ に影響する。
| 項目 | 詳細 |
|---|---|
| 対象アプリ | Windows Notepad (Store版 / UWP) |
| パッケージファミリー名 | Microsoft.WindowsNotepad_8wekyb3d8bbwe |
| Store Product ID | 9msmlrh6lzf3 |
| Store URL | https://apps.microsoft.com/detail/9msmlrh6lzf3 |
| 脆弱性 | Markdown プレビュー機能でのコマンドインジェクション (CWE-77) |
| CVSS | 8.8 (Important) |
| 脆弱バージョン | 11.0.0 〜 11.2510 未満 |
| パッチ済みバージョン | 11.2510.14.0 以降 |
| パッチ配布経路 | Microsoft Store (自動更新) + February 2026 Patch Tuesday |
| バージョン | ステータス | 用途 | 取得方法 |
|---|---|---|---|
| 11.2508.38.0 | 脆弱 (パッチ前) | パッチ前バイナリ | FE3 API → Microsoft CDN |
| 11.2510.14.0 | パッチ済み (最新) | パッチ後バイナリ | FE3 API → Microsoft CDN |
| ファイル | バージョン | サイズ | SHA256 |
|---|---|---|---|
| Notepad.exe | 11.2508.38.0 (pre) | 2,828,320 | 3d5b56ec5cbe064e10b9525ef74359a4e6b83a9c3341f5fbaac629bce80b6817 |
| Notepad.exe | 11.2510.14.0 (post) | 3,118,664 | 02626abef89cf5a3101270065422605261cb38815a1911d93bcbc100b0affea6 |
| NotepadXamlUI.dll | 11.2508.38.0 (pre) | 5,478,432 | 6d17b550a9faee7d936686726ca47864213b6092a002f959b5595e155be18fd6 |
| NotepadXamlUI.dll | 11.2510.14.0 (post) | 6,038,048 | 48ba4119020f79bb99c61d66445ddef6a8771dea1dd0f2fceb60a32118c8ac0e |
| ファイル | Pre-patch | Post-patch | 差分 |
|---|---|---|---|
| Notepad.exe | 2,828,320 | 3,118,664 | +290,344 (+10.3%) |
| NotepadXamlUI.dll | 5,478,432 | 6,038,048 | +559,616 (+10.2%) |
| riched20.dll | 3,661,856 | 3,612,704 | -49,152 |
| msptls.dll | 1,956,384 | 1,931,808 | -24,576 |
| OleControls.dll | N/A | 317,000 | 新規追加 |
Notepad.exe と NotepadXamlUI.dll の両方が大幅に増加しており、パッチによる入力検証・サニタイゼーション追加が示唆される。
binaries/
├── pre-patch-11.2508.38.0.msixbundle # 完全パッケージ
├── post-patch-11.2510.14.0.msixbundle # 完全パッケージ
├── pre-patch-Notepad.exe # x64 メインバイナリ
├── post-patch-Notepad.exe # x64 メインバイナリ
├── pre-patch-NotepadXamlUI.dll # x64 UI DLL
├── post-patch-NotepadXamlUI.dll # x64 UI DLL
├── pre-patch/x64/ # 完全展開済み (11.2508.38.0)
└── post-patch/x64/ # 完全展開済み (11.2510.14.0)
Windows Update クライアントが内部的に使用する SOAP API。Microsoft Store アプリのパッケージ直接ダウンロードリンクを取得できる。今回の収集で実際に使用し成功した方法。
Step 1: Cookie 取得
curl -sk -X POST "https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx" \
-H "Content-Type: application/soap+xml; charset=utf-8" \
-H "User-Agent: Windows-Update-Agent/10.0.10011.16384 Client-Protocol/2.50" \
-d '<SOAP GetCookie request with WS-Security header>'Step 2: Display Catalog API で WuCategoryId を取得
curl -sk "https://displaycatalog.mp.microsoft.com/v7.0/products/9msmlrh6lzf3?market=US&languages=en-US"→ WuCategoryId: 0cfabdcb-e35f-4ee5-8ca1-76660ea27185
Step 3: SyncUpdates で各バージョンの UpdateID を取得
curl -sk -X POST "https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx" \
-d '<SOAP SyncUpdates with FilterAppCategoryIds=0cfabdcb-e35f-4ee5-8ca1-76660ea27185>'→ 各バージョンの UpdateID を取得
Step 4: GetExtendedUpdateInfo2 でダウンロードURL取得
curl -sk -X POST "https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx" \
-d '<SOAP GetExtendedUpdateInfo2 with target UpdateIDs>'→ tlu.dl.delivery.mp.microsoft.com の時間制限付きダウンロードURL取得
Step 5: パッケージダウンロードと展開
curl -sL -o package.msixbundle "<CDN URL>"
unzip package.msixbundle -d extracted/
unzip extracted/NotepadApp_*_x64.msix -d extracted/x64/- ブラウザ不要、CLIのみで完結
- Microsoft CDN から直接取得するため信頼性が高い
- 全バージョンにアクセス可能
- FE3 API の SOAP リクエスト構築が複雑
- ダウンロードURLは期限付き (数時間)
- WS-Security ヘッダーが必要
Microsoft Store の内部 API を使って、MSIX/MSIXBUNDLE パッケージの直接ダウンロードリンクを生成するWebサービス。
- https://store.rg-adguard.net/ にアクセス
- 検索ボックスに以下を入力:
- URL:
https://apps.microsoft.com/detail/9msmlrh6lzf3 - または ProductId:
9msmlrh6lzf3
- URL:
- チャネルを選択:
- Retail (安定版) または RP (Release Preview)
- 検索結果から以下のファイルを探す:
Microsoft.WindowsNotepad_11.2510.14.0_neutral_~_8wekyb3d8bbwe.MsixBundle(パッチ済み)- 旧バージョンも RP チャネルで出る場合がある
- ダウンロードリンクをクリック (CDN:
tlu.dl.delivery.mp.microsoft.comからのダウンロード)
- Cloudflare の Bot Protection があり、CLI (curl) からのアクセスは困難
- ブラウザでの手動操作が必要
- 古いバージョンが必ず残っているとは限らない (Retail チャネルは最新のみの場合が多い)
# 403/Challenge が返るため、ブラウザでの操作を推奨
curl -X POST "https://store.rg-adguard.net/api/GetFiles" \
-d "type=url&url=https://apps.microsoft.com/detail/9msmlrh6lzf3&ring=Retail"Microsoft Store アプリのバージョンアーカイブサイト。過去バージョンの MSIXBUNDLE を保持している。
| バージョン | URL | ファイルサイズ | SHA256 |
|---|---|---|---|
| 11.2510.14.0 (パッチ済み) | https://www.appx4fun.com/xap/55460/ | 21.76 MB | c29564ac9a3ff782bbcc2c9769f3317d6f5db2275899ee24e851ecf756658e2c |
| 11.2504.46.0 (脆弱) | https://www.appx4fun.com/xap/68466/ | 21.26 MB | (SHA1: 46faa9ea4f1ac6e8d5db5adc813a335f01ea11d2) |
| 11.2410.20.0 | https://www.appx4fun.com/xap/63351/ | - | - |
| 11.2407.9.0 | https://www.appx4fun.com/xap/61280/ | - | - |
- 上記URLにブラウザでアクセス
- "Generate Package Download Link" ボタンをクリック
- Microsoft Store CDN からの直接ダウンロードリンクが生成される
- ファイルは
Microsoft.WindowsNotepad_<version>_neutral_~_8wekyb3d8bbwe.MsixBundle形式
- ダウンロードリンクは動的生成 (JavaScriptが必要)
- CDN リンクは期限付き
過去バージョンのアーカイブを提供するダウンロードサイト。
- 最新版: https://windows-notepad.en.uptodown.com/windows/download
- バージョン一覧: https://windows-notepad.en.uptodown.com/windows/versions
| バージョン | リリース日 |
|---|---|
| 11.2510.14.0 | 2026-01-13 |
| 11.2510.12.0 | 2025-12-26 |
| 11.2508.38.0 | 2025-11-03 |
| 11.2508.34.0 | 2025-10-07 |
| 11.2507.26.0 | 2025-09-02 |
| 11.2506.35.0 | 2025-08-05 |
| 11.2504.62.0 | 2025-07-01 |
| 11.2504.58.0 | 2025-06-17 |
| 11.2504.46.0 | 2025-06-03 |
- https://windows-notepad.en.uptodown.com/windows/versions にアクセス
- 目的のバージョンをクリック
- ダウンロードボタンで取得
Windows のシステムファイル (inbox バイナリ) のインデックス。クラシック notepad.exe のみを扱う。 Store版Notepadは対象外だが、参考のため記載する。
- Web UI: https://winbindex.m417z.com/
- データ:
https://winbindex.m417z.com/data/by_filename_compressed/notepad.exe.json.gz - GitHub: https://github.com/m417z/winbindex
- 圧縮 JSON (gzip) で各バイナリのメタデータを提供
- SHA256ハッシュをキーに、FileInfo (サイズ、ハッシュ、マシンタイプ) と WindowsVersions 情報を含む
- 確認した限り119エントリ (x86/x64 混在)
Microsoft Symbol Server からの取得。URL フォーマット:
https://msdl.microsoft.com/download/symbols/<peName>/<timeStamp><imageSize>/<peName>
timeStamp: PE ヘッダーのタイムスタンプ (16進数)imageSize: PE ヘッダーの仮想サイズ (16進数)
- Store版Notepadは対象外 (今回のCVEには直接使えない)
- VirusTotal にアップロード済みのファイルのみダウンロード可能な場合がある
Windows Update で配布されるパッチ (.msu/.cab) の検索・ダウンロードサイト。
| OS | KB番号 | 備考 |
|---|---|---|
| Windows 11 | KB5077181 | February 2026 Cumulative Update |
| Windows 10 | KB5075912 | February 2026 Cumulative Update |
- https://www.catalog.update.microsoft.com/ にアクセス
- KB 番号で検索 (例:
KB5077181) - 該当するアーキテクチャの .msu ファイルをダウンロード
- Store版Notepadの更新は通常、Microsoft Storeから配布されるため、KBパッチに含まれない可能性が高い
- KBパッチにはOSレベルの修正が含まれるが、Store appのバイナリとは別
Windows Update のビルド単位でファイルを取得できるサービス。
- サイトでWindows buildを検索
- 必要なファイルを選択してダウンロードスクリプトを生成
- inbox (システム付属) のファイル向け
- Store版アプリは通常含まれない
MSIX / MSIXBUNDLE は ZIP ベースのフォーマット なので、macOS の標準ツールで展開可能。
# MSIXBUNDLE を展開 (中に複数の .msix ファイルが含まれる)
mkdir -p extracted_bundle
unzip Microsoft.WindowsNotepad_11.2510.14.0_neutral_~_8wekyb3d8bbwe.MsixBundle -d extracted_bundle/
# 各 .msix ファイルをさらに展開
cd extracted_bundle
mkdir -p msix_x64
unzip Microsoft.WindowsNotepad_*_x64_*.msix -d msix_x64/import zipfile
import os
def extract_msixbundle(bundle_path, output_dir):
"""MSIXBUNDLE を展開し、中の MSIX も展開する"""
os.makedirs(output_dir, exist_ok=True)
# Step 1: MSIXBUNDLE を展開
with zipfile.ZipFile(bundle_path, 'r') as zf:
zf.extractall(output_dir)
# Step 2: 内部の .msix ファイルを展開
for f in os.listdir(output_dir):
if f.endswith('.msix'):
msix_dir = os.path.join(output_dir, f.replace('.msix', ''))
os.makedirs(msix_dir, exist_ok=True)
with zipfile.ZipFile(os.path.join(output_dir, f), 'r') as zf:
zf.extractall(msix_dir)
# 使用例
extract_msixbundle('path/to/bundle.MsixBundle', 'extracted/')brew install p7zip
7z x Microsoft.WindowsNotepad_*.MsixBundle -oextracted/| ツール | 状態 |
|---|---|
unzip |
macOS 標準で利用可能 (推定) |
python3 |
✅ 利用可能 (/usr/bin/python3) |
python3 zipfile |
✅ 利用可能 |
cabextract |
❌ 未インストール |
7z |
❌ 未インストール |
expand |
✅ /usr/bin/expand (ただしタブ展開用で .cab 展開には使えない) |
Microsoft.WindowsNotepad_11.2510.14.0_neutral_~_8wekyb3d8bbwe.MsixBundle
├── AppxMetadata/
│ └── AppxBundleManifest.xml
├── Microsoft.WindowsNotepad_11.2510.14.0_x64__8wekyb3d8bbwe.msix
├── Microsoft.WindowsNotepad_11.2510.14.0_arm64__8wekyb3d8bbwe.msix
├── Microsoft.WindowsNotepad_11.2510.14.0_x86__8wekyb3d8bbwe.msix (あれば)
└── [Content_Types].xml
各 .msix 内:
*.msix
├── Notepad/
│ └── Notepad.exe ← メインバイナリ
├── AppxManifest.xml
├── Assets/
├── resources.pri
└── ...
以下のいずれかからダウンロード:
パッチ前 (脆弱版) - 11.2504.46.0:
- https://www.appx4fun.com/xap/68466/ → "Generate Package Download Link"
- https://windows-notepad.en.uptodown.com/windows/versions → 11.2504.46.0 をクリック
パッチ後 (修正版) - 11.2510.14.0:
- https://www.appx4fun.com/xap/55460/ → "Generate Package Download Link"
- https://windows-notepad.en.uptodown.com/windows/versions → 11.2510.14.0 をクリック
mv ~/Downloads/Microsoft.WindowsNotepad_11.2504*.MsixBundle binaries/pre-patch.msixbundle
mv ~/Downloads/Microsoft.WindowsNotepad_11.2510*.MsixBundle binaries/post-patch.msixbundlecd binaries/
# パッチ前
mkdir -p pre-patch
unzip pre-patch.msixbundle -d pre-patch/
cd pre-patch && for f in *.msix; do mkdir -p "${f%.msix}" && unzip "$f" -d "${f%.msix}/"; done && cd ..
# パッチ後
mkdir -p post-patch
unzip post-patch.msixbundle -d post-patch/
cd post-patch && for f in *.msix; do mkdir -p "${f%.msix}" && unzip "$f" -d "${f%.msix}/"; done && cd ..# x64 バイナリの Notepad.exe を比較対象として抽出
cp pre-patch/Microsoft.WindowsNotepad_*_x64_*/Notepad/Notepad.exe pre-patch-Notepad.exe
cp post-patch/Microsoft.WindowsNotepad_*_x64_*/Notepad/Notepad.exe post-patch-Notepad.exe
# ハッシュ確認
shasum -a 256 pre-patch-Notepad.exe post-patch-Notepad.exe| バージョン | ファイル | SHA256 |
|---|---|---|
| 11.2510.14.0 | MsixBundle | c29564ac9a3ff782bbcc2c9769f3317d6f5db2275899ee24e851ecf756658e2c |
| 11.2504.46.0 | MsixBundle | (SHA1: 46faa9ea4f1ac6e8d5db5adc813a335f01ea11d2) |
- VirusTotal: ハッシュ値で検索してバイナリのメタデータを確認
- GitHub (WindowsDependencies): 一部古いバージョンが公開されている
- https://github.com/Day-OS/WindowsDependencies (11.2112.32.0 等)
- archive.org: Webアーカイブにキャッシュされたダウンロードリンクがある可能性
- MSRC CVE-2026-20841
- SOC Prime CVE-2026-20841 Analysis
- WinBuzzer - Microsoft Patches Notepad RCE
- The Register - Notepad's Markdown RCE
- Windows Forum - CVE-2026-20841 Discussion
- Windows Central - Notepad Markdown Vulnerability
- Winbindex - Windows Binaries Index
- Winbindex GitHub
- rg-adguard Store Link Generator
- Appx4Fun - Windows Notepad
- Uptodown - Windows Notepad Versions