~ / search / GHSA-2cjv-6wg9-f4f3

GHSA-2cjv-6wg9-f4f3

Strapi Password Hashing is Missing Maximum Password Length Validation

Source: GitHub Advisory Database (reviewed) Moderate CVE-2025-25298

Packages

EcosystemPackageAffectedFixed in
npm @strapi/core < 5.10.3 5.10.3

Details

As written in the advisory (Markdown source, shown as plain text).

## Summary Strapi's password hashing implementation using bcryptjs lacks maximum password length validation. Since bcryptjs truncates passwords exceeding 72 bytes, this creates potential vulnerabilities such as authentication bypass and performance degradation. ## POC Create an admin user with a password exceeding 72 characters like 85, Log in using only the first 72 characters of the password. Authentication is successful, confirming the issue. Proposed Solution Based on discussions: Add a maximum password length validation (72 characters) during password creation and updates for both Admin and U&P users. Truncate passwords exceeding 72 bytes on the server before passing them to bcryptjs during login. Optionally, issue a warning to users with passwords longer than 72 bytes during login, informing them of truncation. ## Impact This issue affects all Strapi installations using bcryptjs for password hashing. Until resolved, it can lead to: Authentication Bypass: Users may unknowingly set passwords exceeding 72 bytes, leading to truncated, predictable hashes. Performance Issues: Excessively long passwords can degrade server performance.

References

External links from the advisory. They lead to third-party sites.