Является ли реализация Springry BCrypt уязвимой?

Аудит безопасности в нашей компании показал, что префикс наших хеш-кодов bcrypt равен "$ 2a $". Согласно [1] и [2] это может указывать на то, что используется более старая, уязвимая реализация bcrypt.

Итак - вот мои вопросы:

  1. Содержит ли реализация bcrypt в Spring Security уязвимость?
  2. Поддерживает ли Spring Security префиксы "$2x$" и "$ 2y $"?

Рекомендации:
[1] http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html
[2] http://www.openwall.com/lists/oss-security/2011/06/21/16

1 ответ

Решение
  1. Ссылки, которые вы предоставляете, касаются уязвимости в реализации BCrypt на C. Реализация Spring Security - это ответвление jBCrypt, которое отличается от Java.

  2. Если посмотреть на исходный код, начиная с версии 3.2.5, Spring Security не поддерживает префиксы "$2x$" и "$2y$". Реализация не содержит уязвимости C, но она не совместима с текущей реализацией на основе C (например, PHP).

Другие вопросы по тегам