Oktaセキュリティインシデント:Bcryptの長さ制限の脆弱性

2025-02-05
Oktaセキュリティインシデント:Bcryptの長さ制限の脆弱性

Oktaのセキュリティインシデントは、Bcrypt実装がどのように入力の長さを処理していたかに起因します。Bcryptアルゴリズムは最大72文字をサポートしており、それ以上の文字は無視されるため、部分的なユーザー名とキャッシュされたキーだけで認証できてしまう可能性がありました。この記事では、Go、Java、JavaScript、Python、Rustといった言語のBcryptライブラリを分析し、多くのライブラリが入力長の検証を適切に行っていないことを明らかにしています。これによりセキュリティリスクが生じます。著者は、API設計の改善を提唱し、無効な入力を明示的に拒否することで、このような脆弱性を防ぐべきだと主張しています。

開発