ラボまとめコラムニュース
ブログ/記事一覧/人気VS Code拡張にMarkdownを開くだけで乗っ取りの脆弱性3件 CVE-2026-49492ほか、0.8.28へ
markdown-preview-enhanced-cve-2026-49492-49493-50733-vscode-rce-cover-ja

人気VS Code拡張にMarkdownを開くだけで乗っ取りの脆弱性3件 CVE-2026-49492ほか、0.8.28へ

約950万インストールの人気VS Code拡張Markdown Preview Enhancedに、悪意あるMarkdownファイルを開いてプレビューするだけでパソコンを乗っ取られる脆弱性が3件見つかりました。CVE-2026-49492/49493/50733でCVSSは各8.8。図や数式を描く処理が文章をコードとして実行する欠陥で、いずれも0.8.28で修正済み。対象バージョンと更新手順をまとめます。

ニュース 本日更新
avatar-m-1

堀川 慎

Backend Engineer / AWS / Django / Go

2026.06.069 min0 views
この記事のポイント

約950万インストールの人気VS Code拡張Markdown Preview Enhancedに、悪意あるMarkdownファイルを開いてプレビューするだけでパソコンを乗っ取られる脆弱性が3件見つかりました。CVE-2026-49492/49493/50733でCVSSは各8.8。図や数式を描く処理が文章をコードとして実行する欠陥で、いずれも0.8.28で修正済み。対象バージョンと更新手順をまとめます。

プログラマーの多くが使うコードエディタ「Visual Studio Code(VS Code)」向けの人気拡張機能Markdown Preview Enhancedに、悪意あるMarkdownファイルを開いてプレビューするだけでパソコンを乗っ取られかねない脆弱性(情報セキュリティ上の欠陥)が3件まとめて見つかりました。共通の管理番号はCVE-2026-49492・CVE-2026-49493・CVE-2026-50733で、いずれも深刻度を10点満点で表すスコア(CVSS v3.1)は8.8、4段階で上から2番目の「重要(High)」です。

Markdown Preview Enhancedは、文章を装飾するための記法「Markdown」をきれいに表示しつつ、図やグラフ、数式までその場で描けるようにする拡張機能で、VS Code向けだけで約950万インストールに達する定番ツールです。今回の3件はいずれも2026年6月5日に公開されたバージョン0.8.28で修正済みですが、拡張機能の自動更新を切っている人や、しばらく更新していない人は古いまま使っている可能性があります。攻撃に必要なのは、利用者が細工された.mdファイルを開いてプレビューする(または書き出す)ことだけで、ログインやパスワードは要りません。

この記事では、何が起きるのか、3件それぞれがどんな欠陥なのか、なぜMarkdownのプレビューがこれほど狙われるのか、そして手元のVS Codeでいま何をすればいいのかを、できるだけわかりやすく整理します。

どのバージョンが対象で、どう更新すればいいのか

まず結論です。0.8.28より前のすべてのMarkdown Preview Enhancedが対象で、0.8.28以降に更新すれば3件とも塞げます。VS Codeの拡張機能のバージョンは、左側の拡張機能アイコンから「Markdown Preview Enhanced」を開けば確認できます。

使っているバージョン状態いますべきこと
0.8.28 以降修正済み対処は不要
0.8.28 より前すべて
(0.8.27 以前)
影響あり
(3件すべて)
0.8.28以降へ
更新する
バージョン不明確認が必要拡張機能画面で
バージョン確認

VS Codeは拡張機能を自動更新する設定が初期状態で有効ですが、社内ポリシーや手動運用で自動更新を切っている環境もあります。拡張機能の一覧で「Markdown Preview Enhanced」に更新ボタンが出ていれば押し、出ていなければ右クリックから更新を確認してください。なお、この拡張機能はかつて別のコード実行の脆弱性(CVE-2025-65716)も報告されており、最新版を保つこと自体が有効な守りになります。

何が起きるのか。Markdownを開いて表示するだけでコードが実行される

Markdown Preview Enhancedの売りは、ただ文章を整形するだけでなく、文章の中に書いた図やグラフ、回路のタイミング図、数式などをその場で描画してくれる点です。便利な反面、これらを描くために文章の中身を「データ」ではなく「実行できるコード」として処理してしまう箇所があり、そこが今回の3件の弱点になりました。

攻撃の流れはどれも共通しています。攻撃者は、図や特定の記法を含む細工したMarkdownファイルを用意し、それを利用者に開かせます。利用者がプレビュー(表示)したり、HTMLやPDFに書き出したりした瞬間に、ファイルに仕込まれた命令が利用者のパソコン上で実行されます。NVD(米国の脆弱性データベース)のCVSS内訳でも、ネットワーク越しに(AV:N)、特別な権限なしで(PR:N)成立し、必要なのは利用者がファイルを開く操作だけ(UI:R)で、結果として情報の盗み出し・改ざん・サービス停止のすべてに影響が及ぶ(C:H/I:H/A:H)とされています。以下、3件を個別に見ていきます。

CVE-2026-49492:外部ファイルをシェル経由で開く際のコマンド実行(CWE-78)

1件目は、プレビューから外部のファイルやリンクを開く処理に潜む欠陥です。Markdown Preview Enhancedは、図のファイル名やLaTeX(数式組版ソフト)の設定などをもとに、外部のファイルやリンクをシェル(OSにコマンドを渡す仕組み)経由で開きます。ところがこの入力の検証が不十分で、特にWindows環境では、図のファイル名などに紛れ込ませた命令文がそのままOSのコマンドとして実行されてしまいます。技術的には「OSコマンドインジェクション(CWE-78)」にあたります。

CVE-2026-49493:Bitfield図の処理でコードを実行される(CWE-94)

2件目は、ビット列を図示する「Bitfield」という記法のコードブロックを処理する部分の欠陥です。Markdown Preview Enhancedは、この内容をinterpretJS()という処理に渡し、最終的にvm.runInNewContext()という仕組みでJavaScriptとして評価します。このため、Bitfieldブロックに書かれた内容が信頼できないものであっても、そのままコードとして実行されてしまいます。技術的には「コードインジェクション(CWE-94)」で、修正版では実行ではなくデータとして読み取る方式(JSON5.parse)に置き換えられました。

CVE-2026-50733:WaveDrom図のeval()による任意コード実行

3件目は、回路のタイミング図を描く「WaveDrom」という記法の処理です。Markdown Preview Enhancedは、WaveDromの内容をeval()という、文字列をそのままプログラムとして実行する危険な関数で評価していました。VulnCheckの解説によれば、この欠陥は通常のプレビューだけでなく、プレゼンテーション表示やHTMLへの書き出し、さらにはMarkdown内に直接埋め込んだ<script type="WaveDrom">からも発火し、最終的に任意のコード実行や勝手なファイル書き込みにつながります。修正版では、危険なeval()をやめて厳密なデータ解析(JSON5.parse)に置き換えられました。

この穴を、どんな人が、何のために狙うのか

この3件に共通する怖さは、攻撃者が用意したMarkdownファイルを開いて表示するだけで、開発者自身の権限でそのパソコン上に攻撃者のコードが走り出してしまう点です。狙ってくるのは、オープンソースのREADMEやIssue、プルリクエストに細工したMarkdownを忍ばせる偽のコントリビューター、人気プロジェクトを装ってクローンさせる偽リポジトリの作成者、技術記事やGistを装って配布する者です。彼らの目当ては、その開発マシンに置かれたソースコードや、.envに書かれた認証情報、SSHの秘密鍵、npmやクラウド、GitHubのアクセストークンといった、そのまま侵入や金銭に直結する中身です。細工した.mdをプレビューした瞬間、これらを抜き取るコードが開発者の権限でそのまま動き出します。

奪われるのが開発者のトークンや鍵であるほど、被害は1台では止まりません。盗んだアクセストークンで本人のリポジトリや公開中のnpm/PyPIパッケージに入り込み、そこに毒を仕込んで、そのライブラリを使う下流のアプリ全体へ被害を連鎖させるサプライチェーン攻撃の入口にされます。先に報じたZedエディタの「悪意あるリポジトリを開くだけでRCE」TanStack経由のVS Code拡張汚染と同じく、開発者一人の乗っ取りが、その人の関わるすべての成果物に広がっていく構図です。

そして、その後始末は開発者個人にとどまらず、本人が関わるプロダクトや所属企業、さらにはそのソフトを使う利用者全体に返ってきます。漏れたトークンの失効と再発行、不正なコミットやパッケージ公開の有無の監査、サプライチェーン汚染が疑われる場合の利用者への通知——CVSSの8.8という数字以上に重いのは、「ファイルを1つ開いた一瞬」で開発資産のすべてを持っていかれうるという点です。だからこそ、拡張機能を1つ最新に保てるかどうかが、自分と下流の利用者を守れるかどうかの分かれ目になります。

なぜMarkdownのプレビューがこれほど狙われるのか

Markdownはもともと、見出しや箇条書きを手軽に書くための単純な記法です。ところがMarkdown Preview Enhancedのような高機能な拡張は、図・グラフ・数式・回路図・スライドまで描けるよう、さまざまな描画エンジンを内側に抱えています。便利さと引き換えに、文章の中身を「実行できるもの」として扱う窓口が増え、そのどれか一つでも入力の検証が甘ければコード実行につながる、という構造的な弱さを持っています。

実際、Markdownのプレビューを起点にしたコード実行は繰り返し見つかっています。同じMarkdown Preview Enhancedでは2026年初頭にもCVE-2025-65716が報告され、Windowsの標準メモ帳にMarkdownのRCE(CVE-2026-20841)が見つかるなど、「Markdownを開くだけ」を突く攻撃面が広く注目されています。セキュリティ各社は、VS Code拡張に潜むこうした欠陥が開発者をRCEや情報持ち出しの危険にさらしていると警告しています。

開発者にとって拡張機能は「便利だから入れたまま」になりがちですが、拡張は本体と同じ権限で動き、扱うのはソースコードや認証情報という価値の高いデータです。オープンソースの部品やツールを取り込むほど攻撃面が広がるという点では、ライブラリの依存関係と同じ目で拡張機能も見直す必要があります。今回のように修正が出たら素早く取り込むことが、いちばん地味で確実な対策です。

公開から修正までの流れ

3件は同じ日に修正版とともに公開されました。すでに0.8.28で塞がれていますが、攻撃の仕組み自体は公開アドバイザリで説明されています。時系列で整理します。

← スワイプで移動

実際に悪用される条件と、いまの危険度はどれくらいか

過度に怖がる必要はありませんが、軽く見るのも危険です。3件とも、発火には利用者が細工されたMarkdownを開いてプレビューする(または書き出す)操作が必要です。何もしていないのに勝手に乗っ取られるタイプではありません。逆に言えば、攻撃者はまず「開かせる」ためのひと工夫を凝らす必要があります。

一方で軽視できないのは、開発者にとって「Markdownを開く」のがあまりに日常的な動作だという点です。GitHubでリポジトリをクローンしてREADMEを開く、送られてきたサンプルや仕様書の.mdを確認する、技術記事の下書きをプレビューする——こうした何気ない操作が引き金になります。Markdown Preview Enhancedはプレビューを自動で開く設定で使っている人も多く、ファイルを開いた瞬間に条件がそろう場面は珍しくありません。

なお、米国の政府機関CISAが「実際に攻撃に使われている脆弱性」をまとめたKEVカタログには、2026年6月6日時点で本3件は登録されていません。広範な悪用が確認された段階ではありません。ただし攻撃の仕組みは公開アドバイザリで説明されており、約950万インストールという母数の大きさを考えると、攻撃者にとって魅力的な標的であることは間違いありません。同じく「ファイルを開くだけ」で発火する7-Zipの脆弱性と同様、悪用が広がる前に塞いでおくのが最も低コストな対応です。

いま何をすればいいのか

やるべきことは、基本的にMarkdown Preview Enhancedの更新ひとつです。手順は次のとおりです。

  • VS Codeの拡張機能アイコンを開き、「Markdown Preview Enhanced」のバージョンを確認する
  • 0.8.28より前なら、更新ボタンを押して0.8.28以降へ更新する(更新ボタンが出ない場合は右クリックから更新を確認)
  • 拡張機能の自動更新を切っている場合は、この機会に有効化を検討する
  • 更新が終わるまでは、信頼できない相手から届いた.mdファイルや、見慣れないリポジトリのMarkdownをむやみにプレビューしない
  • 類似のMarkdownプレビュー拡張やコード実行系の拡張も、あわせて最新版か確認する

特に、外部から受け取ったリポジトリやファイルを日常的に開く立場の人は、優先度を上げて更新してください。今回の攻撃は、細工されたMarkdownをプレビューするだけで成立するため、未更新のまま不特定のファイルを開く運用ほどリスクが高まります。チームでVS Codeを使っている場合は、拡張機能のバージョンを棚卸しして、0.8.28以降への更新を一括で周知するのが確実です。

よくある質問

Q. 自分のMarkdown Preview Enhancedが対象か、どう確認すればいいですか。

VS Codeの左側にある拡張機能アイコンを開き、「Markdown Preview Enhanced」を選ぶとバージョンが表示されます。0.8.28より前であれば3件すべての影響を受けます。0.8.28以降なら修正済みで、対処は不要です。

Q. 自分で書いたMarkdownや、信頼できる相手のファイルを開くだけでも危ないですか。

いいえ。発火するのは、攻撃者がこの欠陥を突くために細工したMarkdownを開いたときだけです。普段自分で書いている文書や、信頼できる相手の文書では起きません。ただし、見た目は普通のMarkdownと区別がつきにくいため、信頼できないリポジトリやファイルは更新前に不用意にプレビューしないのが安全です。

Q. すでに攻撃に使われていますか。

2026年6月6日時点で、米CISAのKEVカタログへの登録はなく、実際に悪用されたという報告も確認されていません。ただし攻撃の仕組みは公開アドバイザリで説明されており、インストール数が多いため、早めの更新が安全です。

Q. VS Code本体や、他のMarkdownプレビュー機能も危ないですか。

今回の3件はMarkdown Preview Enhancedという特定の拡張機能の問題で、VS Code標準のMarkdownプレビューそのものの欠陥ではありません。ただし、図やコードを描画する高機能なプレビュー系拡張は同種の弱点を持ちやすいため、入れている拡張機能はまとめて最新版に保つことを勧めます。

まとめ

CVE-2026-49492・49493・50733は、約950万インストールの人気VS Code拡張Markdown Preview Enhancedにある3件の脆弱性です。図や数式を描くために文章の中身をコードとして実行してしまう箇所が突かれ、攻撃者が細工したMarkdownを開いてプレビューするだけで、利用者のパソコンで任意のコードを実行されかねません。ログインや特別な権限は不要で、必要なのは「ファイルを開く」操作だけです。

3件とも修正版の0.8.28で塞がれています。VS Codeの拡張機能画面からバージョンを確認し、0.8.28以降へ更新してください。2026年6月6日時点で広範な悪用は確認されていませんが、攻撃の仕組みは公開済みで、Markdownを開く動作は開発者にとって日常そのものです。古い版を使い続けている人ほど、いまのうちに更新しておくのが確実です。

参照元