Password-hash weakening via integer-shift overflow
Published May 19, 2022 · Updated Aug 3, 2024
Integer overflow in BCrypt in Spring Security before 5.5.7 and 5.6.0 through 5.6.3 causes bcrypt hashes to omit strengthening rounds. The crypt_raw method computes 1 << log_rounds in a signed int, so 31 becomes negative and the key-strengthening loop executes zero times. Exposure requires BCryptPasswordEncoder to use the impractical, non-default work factor 31; affected hashes lose bcrypt's repeated strengthening.
Summary
What happened
Integer overflow in BCrypt in Spring Security before 5.5.7 and 5.6.0 through 5.6.3 causes bcrypt hashes to omit strengthening rounds. The crypt_raw method computes 1 << log_rounds in a signed int, so 31 becomes negative and the key-strengthening loop executes zero times. Exposure requires BCryptPasswordEncoder to use the impractical, non-default work factor 31; affected hashes lose bcrypt's repeated strengthening.
The record
- CVE
- CVE-2022-22976
- Published
- May 19, 2022
- Updated
- Aug 3, 2024
- Vendor
- Spring
- Product
- Spring Security
- Classifications
- CWE-190, T1110.002
- Attack vector
- Unavailable
- Privileges
- Unavailable
Timeline
How it unfolded
- May 19, 2022CVE publishedPublication date reported by the CVE source.
- Aug 3, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=Spring Security versions 5.5.x prior to 5.5.7, 5.6.x prior to 5.6.4, and earlier unsupported versions
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Public exploit references
No public exploit references are available in this record.
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo