SecurityIncidentEN → JA
59
wantedly ·
Goに脆弱性報告した話 | Wantedly Engineer Blog
要約
この脆弱性は `https://example.com[::1]/` のような不正なURLを `url.Parse` が誤ってIPv6 URLとして受け入れてしまうものである。発見のきっかけはPostgreSQLのカスタムURLパーサー実装中に `parseHost` 内の「開き角括弧が文字列中に存在する」という条件が、本来先頭にあるべきIPv6角括弧の仕様と乖離していることに気づいたことだった。報告者はGo Playgroundで再現を確認後、ChatGPTを使って脆弱性かどうかを検討し、Go Security Policyに従ってメールで非公開報告した。その結果、人生初のCVEを取得することになった。
📌
Key Points
- •`url.Parse` の `parseHost` 関数が、IPv6角括弧を先頭以外にも検出してしまうことで、`https://example.com[::1]/` のような不正URLを `https://[::1]/` として誤認する
- •PostgreSQL向けカスタムURLパーサーの実装中に標準ライブラリのコードを追っていた過程で偶然発見された
- •Go Security Policyに従いメールで非公開報告し、Go 1.26.1 / 1.25.8 にてパッチが適用された
Why it matters
URLパーサーのバグはSSRF(Server-Side Request Forgery)や認証バイパスなどの攻撃ベクターになり得るため、Go標準ライブラリレベルでの修正は広範なGoアプリケーションのセキュリティに直接影響する。
関連エンティティ
WantedlyGoGo開発チームGo (golang)url.ParseCVE-2026-25679ChatGPTPostgreSQLGo PlaygroundGo Security Policy