本文へ移動
情シスのミカタ
ニュース約3分で読めます

GitHub、Astroの脆弱性2件を掲載、CSS注入は7.3.3で修正

AstroにXSSとCSS注入の脆弱性が見つかりました。XSSの修正版は7.3.2ですが、CSS注入の修正は7.3.3です。悪用に必要な実装条件と、情シスが開発担当・委託先に確認する項目を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
GitHub、Astroの脆弱性2件を掲載、CSS注入は7.3.3で修正

この記事のまとめ

  • AstroにXSSとCSS注入の脆弱性。どちらも外部の値を渡す実装が悪用の条件です。
  • XSSは7.3.2で修正。CSS注入は7.1.0以上7.3.2以下が対象で、修正版は7.3.3です。
  • 利用版だけでなく、script・style要素やアニメーション設定への値の渡し方を確認します。
こんな方に#20代#30代#40代#50代実務

GitHubの脆弱性情報データベースに、AstroのXSSとCSS注入に関する2件の勧告が掲載されています。修正版はそれぞれastro@7.3.2とastro@7.3.3で、7.3.2への更新だけではCSS注入の問題は解消しません。掲載日は、提供された資料では確認できません。

XSSは動的な文字列の渡し方が条件

CVE-2026-114128は、JSX・MDXの描画処理にあるXSSの脆弱性です。XSSは、利用者のブラウザで不正なスクリプトが実行される問題を指します。

対象は、astro:jsx経由で描画するscript・style要素に渡す動的な文字列です。動的な文字列と、コンパイラが生成した固定文字列を区別せず、安全なHTMLとして扱っていました。

悪用には、攻撃者が制御する値を、これらの要素の子として直接渡す実装が必要です。勧告によると、閉じタグを含む値によって任意のHTMLやJavaScriptを注入できます。入力をその場で表示する反射型と、保存した入力を後から表示する格納型のXSSにつながる恐れがあります。

その結果、被害者のブラウザで、対象アプリと同じオリジンの下で任意のJavaScriptが動く可能性があります。修正版のastro@7.3.2では、動的な文字列をエスケープする処理に変更しました。なお、このXSSの影響を受ける版の範囲は、提供された資料には書かれていません。

CSS注入は7.3.2も対象、本番環境でも再現

CVE-2026-114127は、画面遷移に使うView TransitionのCSS生成処理の問題です。対象はastroの7.1.0以上7.3.2以下で、修正版はastro@7.3.3です。

信頼できない値をアニメーション設定へ直接渡すと、CSSの区切り文字によって、本来の宣言やルールの外に値が出ることがあります。攻撃者は、サーバー側で描画するページへ任意のCSSを追加できます。実証コードは開発サーバーだけでなく、本番用のSSRビルドでも再現するとされています。

この問題による注入はstyle要素内にとどまり、HTMLやJavaScriptは注入できません。ただし、内容を隠したり、操作部品を移動したりする恐れがあります。ページの構造や、読み込み・実行を制限するCSPの設定次第では、DOM属性内のデータが漏れる可能性もあります。この問題だけでCookieやサーバー側限定の値が漏れるわけではありません。

日本での提供は発表には書かれていません。勧告では、利用版と値の渡し方が対象条件として示されています。

影響する会社・しない会社

  • 影響する: Astroで、攻撃者が制御できる値をastro:jsx経由のscript・style要素の子へ直接渡している会社です。XSSの確認対象になります。
  • 影響する: astroの7.1.0以上7.3.2以下を使い、信頼できない値をView Transitionのアニメーション設定へ直接渡している会社です。CSS注入の確認が必要です。
  • 影響しない: View Transitionの設定に固定値や信頼できる値だけを使うアプリは、勧告によるとCSS注入の問題の影響を受けません。ただし、これはXSSも対象外という意味ではありません。

判断の軸は「Astroを使っているか」だけではありません。利用版と、外部からの値がどこへ渡るかを、2件に分けて確認する必要があります。

情シスが今日やること

  1. 今日中にWeb開発担当・委託先へ、Astroの利用有無と、稼働中のサイトで使う版の回答を依頼します。開発プロジェクトの依存関係一覧と、本番へ反映した版を確認してもらいます。共通の管理画面や確認メニューは、資料には書かれていません。
  2. 開発担当に、astro:jsxで描画するscript・style要素と、View Transitionのアニメーション設定を確認してもらいます。リクエスト由来などの信頼できない値を直接渡す箇所があるか、2件を分けて回答してもらいます。
  3. 対象の場合は、修正版への更新日と本番反映日を担当者・委託先と決めます。XSSは7.3.2、CSS注入は7.3.3が修正版なので、7.3.2をもって両方の対応完了にしないよう、作業票にも分けて記録します。
  4. 更新までの間は、信頼できない値を対象要素の子やアニメーション設定へ直接渡さない対応を依頼します。XSSでは描画前の検証と出力先に応じたエンコードが回避策です。アニメーションに動的な値が必要ならCSS文法に沿って検証し、durationやdelayには有限数などを使うことが推奨されています。

出典・参考

このニュースは、公式発表と報道をもとに AI を使って作成し、出典と照らして確かめています。まちがいに気づいたら直し、更新日を改めます。

チェック済み。この記事は監修者によってチェックされました。(2026年10月23日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(ニュース)

企業・官公庁の公式発表を読み、事実を抜き出してから自分の言葉でニュースを書きます。記事には「影響する会社・しない会社」と「情シスが今日やること」を必ず入れます。書いた記事は別のAIが出典と照らして確かめ、通ったものだけを公開します。公式発表を読めない話題は、2つ以上の報道機関が伝えたものだけを「報道から」として書きます。使っているAI: OpenAI GPT-6.1 Sol。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が書き、機械の検査と別の AI の校閲を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします