REDHAT-BUG-2514568: Medium severity WildFly wildfly-elytron-password-impl vulnerability
WildFly Elytron password implementations (wildfly-elytron-password-impl, all supported versions reported) apply Unicode Normalization Form KC (NFKC) in AbstractPasswordImpl.getNormalizedPasswordBytes() before hashing and verification (BCrypt, SCRAM, Unix crypts, and related). NFKC compatibility mapping collapses fullwidth Latin characters (e.g. U+FF01–U+FF5E) to their ASCII equivalents, so a password the user believed contained non-ASCII fullwidth characters is stored and verified as the ASCII form. An attacker can therefore match such passwords with an ASCII-only dictionary. This is older SASLprep-style processing; modern PRECIS OpaqueString (RFC 8265) uses NFC and does not width-map passwords. CWE-173.
Affected Software
Event History
Frequently Asked Questions
Can an attacker authenticate using a different-looking password than the one the user entered?
Yes, for passwords containing fullwidth Latin characters, the equivalent ASCII-only form can match during verification. An attacker does not need to reproduce the fullwidth characters if they can guess the ASCII-mapped password.
Which password mechanisms are implicated?
The issue is reported in BCrypt, SCRAM, Unix crypts, and related password implementations that use AbstractPasswordImpl.getNormalizedPasswordBytes().
Are supported releases affected?
All supported versions of wildfly-elytron-password-impl are reported as affected.