概要
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) |
| CWE | CWE-1289 不適切な入力検証 |
| 攻撃元区分(AV) | ネットワーク |
| 攻撃条件の複雑さ(AC) | 低 |
| 必要な特権レベル(PR) | 不要 |
| ユーザー関与(UI) | 不要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| golang.org/x/net/idna | Google / 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 により自動生成されています。正確性については原文をご確認ください。
