To improve security, user passwords can no longer be saved as plaintext or with an asterisk (*) in the database. The asterisk is now resolved to its actual encoding algorithm so the proper encoding key is saved instead.
Plaintext encoding is no longer allowed. The system now automatically applies the default encoding algorithm to any password that would have previously been stored in plaintext. Dedicated checks have been implemented to detect plain encoding attempts. When such an attempt is discovered, the system seamlessly intervenes by applying the default encoding algorithm to the password. It also replaces any reference to "plain" encoding with the name of the default algorithm used.
The implementation of the asterisk (*) encoding symbol has changed. Previously, it served as a configurable placeholder for various encoding algorithms, allowing system administrators to modify the mapping. This flexibility came with potential risks, as altering the algorithm associated with the asterisk could inadvertently disrupt user login processes for existing accounts.
To address these concerns, the system now maps the asterisk encoding to a specific default encoding in the background. This approach resolves the actual encoding while maintaining compatibility with existing user data. Instead of storing the asterisk symbol itself, the system now saves the name of the algorithm being used. The use of the asterisk for encoding new passwords has been discontinued.
Additionally, the UserPasswordTranslator class has been updated to follow the same configuration settings for password hashing as other parts of the system.
Passwords set through ImpEx are now audited for validity in all cases for both user creation and password updates. Therefore, the new configuration, which prevents passwords from being saved with asterisks, cannot be bypassed when using ImpEx to import new users or data. The system now consistently saves passwords according to the set password encoding, regardless of the method used (Backoffice or ImpEx).
Note
Existing asterisk-encoded passwords will continue to work. However, we're strongly recommend updating to valid and secure algorithms. The system can automatically update such passwords to a default or other explicitly specified encoding upon user login. To automatically re-encode the passwords, set the password.encoding.auto.update.enabled property in the advanced.properties file to true.
.
