CVE-2026-27142: Go言語 html/template パッケージにおけるメタタグURLエスケープ不備の脆弱性

March 7, 2026 ·

概要

CVE-2026-27142は、Go言語の標準ライブラリである`html/template`パッケージにおいて、HTMLの`meta`タグの`content`属性にURLが挿入される際に、適切なエスケープ処理が行われない脆弱性です。この問題が悪用されると、クロスサイトスクリプティング(XSS)攻撃につながる可能性があります。

影響範囲

Go言語の`html/template`パッケージを使用し、かつ`meta`タグの`content`属性に動的にURLを挿入するアプリケーションが影響を受ける可能性があります。特に、`meta`タグが`http-equiv=”refresh”`属性を持つ場合に、この脆弱性が悪用される危険性が高まると報告されています。

想定される影響

この脆弱性が悪用された場合、攻撃者はXSS攻撃を仕掛ける可能性があります。XSS攻撃が成功すると、以下のような影響が考えられます。

  • ユーザーのセッション情報の窃取(セッションハイジャック)
  • Webサイトの改ざんや不正なコンテンツの表示
  • 悪意のあるスクリプトの実行による情報漏洩やマルウェア感染
  • フィッシング詐欺への悪用

攻撃成立条件・悪用状況

攻撃が成立するためには、脆弱性のあるGoアプリケーションが、`meta`タグに`http-equiv=”refresh”`属性を設定し、かつその`content`属性に外部から制御可能なURLを挿入するような状況が必要です。

現時点では、この脆弱性の具体的な悪用状況に関する報告は確認されていません。

推奨対策

【今すぐできる対策】

  • GODEBUG設定の適用: Goアプリケーションの実行環境において、新しい`GODEBUG`設定`htmlmetacontenturlescape`を`0`に設定することで、`meta`タグの`content`属性内のURLエスケープを無効にできます。これにより、脆弱性の悪用を防ぐことが可能です。
    例: `GODEBUG=htmlmetacontenturlescape=0 ./your_application`
    この設定は、Goのバージョンによっては利用できない場合があるため、Goのバージョンを確認してください。

【中長期的な対策】

  • Go言語および`html/template`パッケージのアップデート: 今後、Go言語の公式リリースでこの脆弱性に対する修正が提供される可能性があります。Goのバージョンアップロード計画に沿って、最新かつ安全なバージョンへのアップデートを検討してください。
  • コードレビューの実施: アプリケーションのコードベースをレビューし、`html/template`パッケージを使用して`meta`タグの`content`属性に動的にURLを挿入している箇所がないか確認してください。もしそのような箇所があれば、入力値の検証とサニタイズを徹底し、信頼できないソースからのデータを直接出力しないように注意してください。

一時的な緩和策

前述の`GODEBUG`設定の適用が、最も直接的かつ即効性のある緩和策となります。

確認方法

自社のGoアプリケーションが`html/template`パッケージを使用しているか、また`meta`タグの`http-equiv=”refresh”`属性と`content`属性を組み合わせて動的にURLを生成している箇所がないか、コードベースを監査してください。

参考情報