Sakai kernel-impl: predictable PRNG used to generate server‑side encryption key in EncryptionUtilityServiceImpl
Package
Affected versions
<= 23.3
Patched versions
None
Description
Published to the GitHub Advisory Database
Oct 22, 2025
Reviewed
Oct 22, 2025
Last updated
Oct 22, 2025
Impact
EncryptionUtilityServiceImpl initialized an AES256TextEncryptor password (serverSecretKey) using RandomStringUtils with the default java.util.Random. java.util.Random is a non‑cryptographic PRNG and can be predicted from limited state/seed information (e.g., start time window), substantially reducing the effective search space of the generated key. An attacker who can obtain ciphertexts (e.g., exported or at‑rest strings protected by this service) and approximate the PRNG seed can feasibly reconstruct the serverSecretKey and decrypt affected data.
Patches
SAK-49866 is patched in Sakai 23.5, 25.0, and trunk.
Credits
References