Sakai LMS
CVE-2025-62710
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain exported or at-rest ciphertext
-
DeliveryEstimate server start-time seed window
-
ExploitBrute-force reduced PRNG key space
-
ExecutionReconstruct AES256 serverSecretKey
-
ImpactDecrypt protected data offline
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Unpredictable PRNG seeds
|
| Exploitation Conditions | Exploitation requires two concrete prerequisites that significantly limit practicality: (1) the attacker must already possess ciphertext produced by EncryptionUtilityServiceImpl - specifically exported strings or at-rest values encrypted with the AES256TextEncryptor serverSecretKey - not merely network reachability of Sakai; and (2) the attacker must be able to approximate the java.util.Random seed, feasible because the PRNG is seeded from predictable state such as the server start-time window. The weakness is present by default in affected versions (no special configuration enables it), but the need for prior ciphertext access plus successful seed estimation is what drives the high attack complexity and keeps real-world risk below the raw network-vector reading. Confidentiality of previously-encrypted data remains at risk even after patching unless keys are rotated and old ciphertext is re-encrypted. |
| Impact | This is a genuine but comparatively low-urgency cryptographic weakness rather than a widely-exploitable critical flaw. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, 5.9 Medium) correctly signals the limiting factor: AC:H reflects that exploitation is not trivial - the attacker must both obtain ciphertext and successfully approximate the java.util.Random seed (e.g. the server start-time window) to reconstruct the AES256 serverSecretKey. Impact is confined to confidentiality (C:H, I:N, A:N). The multi-source signals are consistent and point to low real-world urgency: EPSS is 0.20% (9th percentile), the CVE is NOT in CISA KEV, and no public exploit code is referenced - so there is no public exploit identified at time of analysis. The PR:N rating is technically defensible for the cryptographic flaw itself, but note a tension: the description states the attacker must first 'obtain ciphertexts (e.g., exported or at-rest strings)', which in practice presupposes some prior access to exported data or the datastore - a prerequisite not captured by the PR:N/AV:N vector alone and worth weighing when prioritizing. Overall: a real defense-in-depth issue meriting routine patching, not emergency response, absent evidence of active exploitation. |
| Exploit ScenarioDerived | An attacker who has already obtained Sakai-encrypted data (for example an exported file or at-rest strings protected by EncryptionUtilityServiceImpl) estimates the server's startup time window to constrain the java.util.Random seed, then brute-forces the drastically reduced key space to reconstruct the serverSecretKey and decrypt the protected data offline. No public proof-of-concept is referenced, and the high attack complexity (seed approximation plus ciphertext access) makes this a targeted rather than opportunistic attack. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Sakai LMS versions prior to 23.5 and 25.0 generate the server-side AES encryption key (serverSecretKey) for EncryptionUtilityServiceImpl using Apache Commons RandomStringUtils backed by the non-cryptographic java.util.Random PRNG, so the key can be reconstructed by an attacker who holds ciphertext and can approximate the PRNG seed from predictable server state such as the start-time window; successful key recovery allows decryption of at-rest or exported strings protected by the service. The flaw is reachable by unauthenticated remote attackers per the CVSS vector (AV:N/AC:H/PR:N/UI:N), but the high attack complexity reflects two real prerequisites - prior possession of ciphertext produced by the service and successful seed estimation - rather than simple network reachability. EPSS is 0.20% (9th percentile), no public exploit code and no CISA KEV entry were identified at time of analysis, making this a genuine but comparatively low-urgency cryptographic weakness; vendor patches are available in Sakai 23.5, 25.0, and trunk (SAK-49866).
RemediationAI
Upgrade to Sakai 23.5 or 25.0 (or trunk containing SAK-49866, commit bde070104b1de01f4a6458dca6d9e0880a0e3c04) as the primary fix, per the advisory at https://github.com/sakaiproject/sakai/security/advisories/GHSA-gr7h-xw4f-wh86. Patching alone is insufficient: because the old serverSecretKey was generated predictably and any ciphertext encrypted under it remains decryptable, administrators must rotate the key and re-encrypt all previously protected values (exported strings and at-rest data produced by EncryptionUtilityServiceImpl) after upgrading - the trade-off is that re-encryption requires access to the plaintext source and careful sequencing to avoid leaving stale ciphertext readable. If immediate upgrade is impossible, compensating controls are limited because the weak PRNG is on the default code path: restrict who can obtain or exfiltrate ciphertext produced by this service, limit access to database dumps, exports, and configuration/backup artifacts containing encrypted values, and isolate the Sakai host so that an attacker cannot combine ciphertext access with server-state fingerprints such as precise start-time information; each of these reduces but does not eliminate risk, and none removes the need to rotate the key once the patch is applied. No public exploit code or CISA KEV activity was identified at time of analysis, so prioritization can follow normal patching cycles for internet-reachable Sakai instances despite the network-vector AV:N rating.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in maven
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-337 (Predictable Seed in Pseudo-Random Number Generator). Sakai's kernel-impl module, in org.sakaiproject.util.impl.EncryptionUtilityServiceImpl, called RandomStringUtils.random(keyLength, useLetters, useNumbers) with no explicit Random instance, which causes Apache Commons Lang to fall back to its default java.util.Random. java.util.Random is a 48-bit linear congruential generator whose output is deterministically derivable from its seed, and because the seed is derived from time-based JVM state, an attacker who knows or narrows the server start-time window can enumerate candidate keys and test them against known ciphertext. The generated string is used as the password for Spring Security Crypto's AES256TextEncryptor, so key recovery directly yields plaintext of any value encrypted by this service. The upstream fix (commit bde070104b1de01f4a6458dca6d9e0880a0e3c04, GHSA-gr7h-xw4f-wh86) replaces the implicit default PRNG with an explicit java.security.SecureRandom and passes it into RandomStringUtils.random(...); the same commit also hardens the unrelated UserProcessor SIS path, replacing RandomStringUtils.randomAlphanumeric(9) with a 12-character SecureRandom-based value, and removes a RandomStringUtils import from ProfileController. The affected CPE is cpe:2.3:a:sakailms:sakai:*:*:*:*:*:*:*:*, and the Maven coordinates are org.sakaiproject.kernel:sakai-kernel-impl (advisory data lists vulnerable ranges up to <= 23.3).
Know when Sakai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
AC:H because exploitation needs both access to ciphertext and successful PRNG-seed approximation; PR:N as the crypto flaw itself needs no auth; impact is confidentiality-only (C:H, I:N, A:N).
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Sakai is a Collaboration and Learning Environment. Prior to versions 23.5 and 25.0, 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. SAK-49866 is patched in Sakai 23.5, 25.0, and trunk.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)NVD
Sakai is a Collaboration and Learning Environment. Rated high severity (CVSS 8.7), this vulnerability is remotely exploi
Sakai through 12.6 allows XSS via a chat user name. Rated medium severity (CVSS 6.1), this vulnerability is remotely exp
Sakai Collaboration and Learning Environment versions 23.0-23.4 and 25.0-25.1 fail to sanitize group titles and descript
NVD
CVE.org
EPSS
GitHub
Exploit-DB