つみかさね

CVE-2026-39821

Critical(9.6)

CVE-2026-39821 — Go idna パッケージ Punycode検証バイパスによる権限昇格

公開日: 2026-05-28データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
golang.org/x/net/idnaGoogle / Go Team修正バージョン未満

対応ガイド

high|対応必須セキュリティ修正影響: 広範

推奨アクション

  1. 1golang.org/x/net/idnaパッケージを使用しているか確認する(go.modを確認)
  2. 2go get golang.org/x/net@latest でパッケージを最新版へ更新する
  3. 3go mod tidy を実行して依存関係を整理する
  4. 4ホスト名ベースのアクセス制御を実装している箇所がある場合は動作を検証する

影響対象

golang.org/x/net/idnaを利用するGoアプリケーション

補足

  • -golang.org/x/netを直接または間接的に依存するすべてのGoアプリが影響を受ける可能性がある
CVEGogolangidnaPunycode権限昇格golang.org/x/net

概要

Go言語の golang.org/x/net/idna パッケージにおいて、ToASCII および ToUnicode 関数がPunycode形式のラベルを誤って受け入れる脆弱性です(CVE-2026-39821 / GO-2026-5026)。

たとえば ToUnicode("xn--example-.com") が誤って "example.com" を返します。ホスト名に基づくアクセス制御を行うプログラムが、ASCIIのホスト名(example.com)は拒否しつつPunycode形式(xn--example-.com)は許可し、その後Unicodeに変換する実装をしている場合、意図せず example.com へのアクセスを許可してしまいます。

CVSSベクトル

項目
CVSSスコア9.6(Critical)
CWECWE-1289 不適切な入力検証
攻撃元区分(AV)ネットワーク
攻撃条件の複雑さ(AC)
必要な特権レベル(PR)不要
ユーザー関与(UI)不要

影響を受けるソフトウェア

製品ベンダー影響バージョン
golang.org/x/net/idnaGoogle / Go Team修正バージョン未満

修正バージョンと回避策

  • 対策: golang.org/x/net を最新版へアップデートしてください
  • go get golang.org/x/net@latest または go mod tidy で最新版を取得してください
  • ホスト名ベースのアクセス制御を実装している場合は、Unicodeへの変換前後でバリデーションを行う実装を確認することを推奨します

関連リンク


データソース: NVD (NIST), Go Vulnerability Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。