Insufficient Entropy in Password Generation
Description
A deterministic three‑character prefix in the Password Generation component of TYPO3 CMS versions 12.0.0–12.4.36 and 13.0.0–13.4.17 reduces entropy, allowing attackers to carry out brute‑force attacks more quickly.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
TYPO3 CMS password generation uses a deterministic three-character prefix, reducing entropy and enabling faster brute-force attacks in versions 12.0.0–12.4.36 and 13.0.0–13.4.17.
Vulnerability
Description The Password Generation component in TYPO3 CMS versions 12.0.0–12.4.36 and 13.0.0–13.4.17 contains a flaw that reduces entropy. The generateRandomPassword method creates passwords that always begin with a deterministic three-character prefix consisting of a lowercase letter, an uppercase letter, and a digit. This prefix reduces the effective entropy of generated passwords, making them more predictable than expected [1][4].
Exploitation
Attack Surface An attacker can exploit this weakness through remote brute-force attacks against accounts that use passwords generated by the affected component. The attack requires network access to the authentication endpoint and benefits from the reduced entropy, which significantly lowers the number of attempts needed to guess valid passwords. No prior authentication is needed, but the attack complexity is considered high due to the need for multiple attempts [4]. The commit diff shows that the prior str_shuffle function was replaced with a cryptographically secure Randomizer::shuffleBytes method to remove the deterministic prefix [3].
Impact
Exploitation allows an attacker to compromise user accounts more quickly by reducing the time required for brute-force attacks. The CVSS score (CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N) indicates medium severity, with low impacts on confidentiality and integrity [4].
Mitigation
The vulnerability has been fixed in TYPO3 versions 12.4.37 LTS and 13.4.18 LTS. Users are advised to update to these versions or apply the security patch from the core repository [2][4].
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
typo3/cms-corePackagist | >= 12.0.0, < 12.4.37 | 12.4.37 |
typo3/cms-corePackagist | >= 13.0.0, < 13.4.18 | 13.4.18 |
Affected products
2- Range: >=12.0.0 <=12.4.36 or >=13.0.0 <=13.4.17
- TYPO3/TYPO3 CMSv5Range: 12.0.0
Patches
1d2057cc7b2c2[SECURITY] Avoid reduced entropy during password generation
2 files changed · +19 −1
Classes/Crypto/Random.php+3 −1 modified@@ -17,6 +17,7 @@ namespace TYPO3\CMS\Core\Crypto; +use Random\Randomizer; use TYPO3\CMS\Core\Exception\InvalidPasswordRulesException; use TYPO3\CMS\Core\Utility\StringUtility; @@ -105,6 +106,7 @@ public function generateRandomPassword(array $passwordRules): string ); } + // enforces that at least one character matches the requirements foreach ($characterSets as $characterSet) { $password .= $characterSet[random_int(0, strlen($characterSet) - 1)]; } @@ -114,7 +116,7 @@ public function generateRandomPassword(array $passwordRules): string $password .= $characters[random_int(0, $charactersCount - 1)]; } - str_shuffle($password); + $password = (new Randomizer())->shuffleBytes($password); } return $password;
Tests/Unit/Crypto/RandomTest.php+16 −0 modified@@ -204,4 +204,20 @@ public function generateRandomPasswordGeneratesRandomWithLength( ): void { self::assertEquals($length, strlen((new Random())->generateRandomPassword($passwordRules))); } + + #[Test] + public function generateRandomPasswordIsUnpredictable(): void + { + $subject = new Random(); + $max = 1000; + $count = 0; + for ($i = 0; $i < $max; $i++) { + $result = $subject->generateRandomPassword(['passwordLength' => 12]); + if (preg_match('/^[a-z][A-Z][0-9]/', $result)) { + $count++; + } + } + self::assertNotEquals($max, $count); + self::assertLessThan(0.1, $count / $max); + } }
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-p5jq-5383-qvc7ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-59015ghsaADVISORY
- typo3.org/security/advisory/typo3-core-sa-2025-019ghsavendor-advisoryWEB
- github.com/TYPO3-CMS/core/commit/d2057cc7b2c2db417a2af38c30cb9da42302ab70ghsaWEB
News mentions
0No linked articles in our index yet.