Skip to main content

Weak Encoding for Password

CVE-2025-25298

Severity Medium
Score 6.3/10

Summary

Strapi is an open source headless CMS. The packages "@strapi/core" and "@strapi/plugin-users-permissions" prior to version 5.10.3 do not enforce a maximum password length when using "bcryptjs" for password hashing. Bcryptjs ignores any bytes beyond 72, so passwords longer than 72 bytes are silently truncated. A user can create an account with a password exceeding 72 bytes and later authenticate with only the first 72 bytes. This reduces the effective entropy of overlong passwords and may mislead users who believe characters beyond 72 bytes are required, creating a low likelihood of unintended authentication if an attacker can obtain or guess the truncated portion. Long overlength inputs can also impose unnecessary processing overhead. The issue is fixed in version 5.10.3. No known workarounds exist.

  • LOW
  • NETWORK
  • NONE
  • UNCHANGED
  • NONE
  • NONE
  • LOW
  • NONE

CWE-261 - Weak Encoding for Password

Obscuring a password with a trivial encoding does not protect the password.

References

Advisory Timeline

  • Published