Headline
GHSA-gr7h-xw4f-wh86: Sakai kernel-impl: predictable PRNG used to generate server‑side encryption key in EncryptionUtilityServiceImpl
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
- Reported by Suraj Gangwar.
- Patched by Sam Ottenhoff (Longsight).
- GitHub Advisory Database
- GitHub Reviewed
- GHSA-gr7h-xw4f-wh86
Sakai kernel-impl: predictable PRNG used to generate server‑side encryption key in EncryptionUtilityServiceImpl
Low severity GitHub Reviewed Published Oct 22, 2025 in sakaiproject/sakai • Updated Oct 22, 2025
Package
maven org.sakaiproject.kernel:sakai-kernel-impl (Maven)
Affected versions
<= 23.3
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
- Reported by Suraj Gangwar.
- Patched by Sam Ottenhoff (Longsight).
References
- GHSA-gr7h-xw4f-wh86
Published to the GitHub Advisory Database
Oct 22, 2025
Last updated
Oct 22, 2025