WORK.SIGNALALL SIGNALS
/ SECURITY / DEEP DIVE

Vue I18nのHTML翻訳にXSS回避漏れ、HIGH脆弱性の修正版を確認

85 / 100SIGNAL DEEP DIVESECURITY約1分で読める

Vue I18nのHTML翻訳処理に、iframeのsrcdoc属性を経由してXSS対策を回避できるHIGH脆弱性がある。翻訳をv-htmlで表示し、信頼できない内容が入る構成が対象で、11.4.14などで修正済みだ。

30秒でわかる / THE SIGNAL

Vue I18nのHTML翻訳処理に、iframeのsrcdoc属性を経由してXSS対策を回避できるHIGH脆弱性がある。翻訳をv-htmlで表示し、信頼できない内容が入る構成が対象で、11.4.14などで修正済みだ。

エスケープ設定だけでは防げない条件

開発元のGHSA-83rm-6c8r-g728は、`escapeParameter`を有効にしたVue I18nでも、`<iframe>`の`srcdoc`属性内の文字参照がブラウザーで再解釈され、翻訳HTML中の危険な内容が実行され得ると説明する。影響は翻訳を`v-html`などでHTMLとして表示し、翻訳文または補間値に信頼できない内容が入る構成に限られる。コンポーネント補間の`<i18n-t>`はこの問題の対象外だ。

対応版と運用上の注意

開発元は`vue-i18n`や`@intlify/core`などの11.4.14と12.0.0-alpha.5で`srcdoc`属性を無害化した。v9とv10はサポート終了で追加修正されないため、v11への移行が必要。暫定的には信頼できない翻訳を`v-html`で描画せず、`<i18n-t>`を使い、翻訳文の`srcdoc`を避ける。公式勧告はHIGH、CVSS 7.2。実環境での悪用確認は記載されていない。

TRANSMISSION / AFTER THE SIGNAL

読んだ、その先へ。

気になった変化を共有して、次のシグナルへ。

SHARE THIS SIGNAL

BACK TO THE INDEX / FIND THE NEXT SIGNALALL SIGNALS