Tech debt: Update implementation of PBKDF2+SHA512 user password hashing implies it is the default when it is not
Problem
Risks for GitLab.com security , and availability :
- There is risk of enabling
pbkdf2_password_encryption_write
by accident in GitLab.com when we want to retain BCrypt - https://docs.gitlab.com/ee/security/password_storage.html#password-storage says BCrypt is default
- Because feature flags are enabled by default in test, we are testing for
PBKDF2+SHA512
, and not for BCrypt.
Proposal
- Remove the read feature flag so that any GitLab instance can read BCrypt or PBKDF2+SHA512 passwords without issues.
- Refactor the code so it doesn't look like PBKDF2+SHA512 is the default mechanism. We should allow the write strategy to change depending on application config, or FIPS enabled.
Edited by Thong Kuah