golang.org/x/crypto/ssh ライブラリにおいて、FIDO/U2Fセキュリティキーの物理的な存在確認(User Presence)が適切に行われない脆弱性が発見された。具体的には、Verify() メソッドが物理的なタッチを必要とするフラグを検証しないため、攻撃者は物理的な操作なしに署名を生成し、ハードウェアセキュリティキーを不正に利用できる可能性がある。認証の根幹に関わる重大な問題であり、早急な対応が必要である。
対象ソフト
Go言語でSSH通信を実装するための標準的な暗号ライブラリ。多くのGo製ツールやインフラ管理ソフトウェアで利用されている。
影響
ハードウェアセキュリティキーを用いた認証において、物理的なタッチなしで署名が受け入れられるため、セキュリティキーの不正利用や認証バイパスが発生する恐れがある。
対応策
golang.org/x/crypto/ssh をバージョン 0.52.0 以降にアップグレードすること。また、必要に応じて PublicKeyCallback 内で "no-touch-required" 拡張を適切に設定する。