{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-58135","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","state":"PUBLISHED","assignerShortName":"CPANSec","dateReserved":"2025-04-07T16:06:37.226Z","datePublished":"2025-05-03T10:16:10.636Z","dateUpdated":"2025-10-20T20:09:18.816Z"},"containers":{"cna":{"affected":[{"collectionURL":"https://cpan.org/modules","defaultStatus":"unaffected","packageName":"Mojolicious","product":"Mojolicious","programFiles":["lib/Mojolicious/Command/Author/generate/app.pm","lib/Mojo/Util.pm","lib/Mojolicious/Command/generate/app.pm"],"programRoutines":[{"name":"Mojolicious::Command::Author::generate::app::run()"},{"name":"Mojo::Util::generate_secret()"}],"repo":"https://github.com/mojolicious/mojo","vendor":"SRI","versions":[{"lessThanOrEqual":"*","status":"affected","version":"7.28","versionType":"custom"}]}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Mojolicious versions from 7.28 for Perl will generate weak HMAC session cookie secrets via \"mojo generate app\" by default<br><br>When creating a default app skeleton with the \"mojo generate app\" tool, a weak secret is written to the application's configuration file using the insecure rand() function, and used for authenticating and protecting the integrity of the application's sessions. This may allow an attacker to brute force the application's session keys.<br>"}],"value":"Mojolicious versions from 7.28 for Perl will generate weak HMAC session cookie secrets via \"mojo generate app\" by default\n\nWhen creating a default app skeleton with the \"mojo generate app\" tool, a weak secret is written to the application's configuration file using the insecure rand() function, and used for authenticating and protecting the integrity of the application's sessions. This may allow an attacker to brute force the application's session keys."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-338","description":"CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)","lang":"en","type":"CWE"}]}],"providerMetadata":{"orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","shortName":"CPANSec","dateUpdated":"2025-10-20T20:09:18.816Z"},"references":[{"tags":["related"],"url":"https://perldoc.perl.org/functions/rand"},{"tags":["related"],"url":"https://metacpan.org/release/SRI/Mojolicious-9.39/source/lib/Mojo/Util.pm#L181"},{"tags":["related"],"url":"https://metacpan.org/release/SRI/Mojolicious-9.38/source/lib/Mojolicious/Command/Author/generate/app.pm#L202"},{"tags":["issue-tracking"],"url":"https://github.com/mojolicious/mojo/pull/2200"},{"tags":["related"],"url":"https://metacpan.org/release/SRI/Mojolicious-7.28/source/lib/Mojolicious/Command/generate/app.pm#L220"},{"tags":["technical-description"],"url":"https://security.metacpan.org/docs/guides/random-data-for-security.html"},{"tags":["exploit"],"url":"https://github.com/hashcat/hashcat/pull/4090"},{"tags":["mailing-list"],"url":"https://lists.debian.org/debian-perl/2025/05/msg00016.html"},{"tags":["mailing-list"],"url":"https://lists.debian.org/debian-perl/2025/05/msg00017.html"},{"tags":["mailing-list"],"url":"https://lists.debian.org/debian-perl/2025/05/msg00018.html"}],"source":{"discovery":"UNKNOWN"},"title":"Mojolicious versions from 7.28 for Perl will generate weak HMAC session cookie secrets via \"mojo generate app\" by default","workarounds":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Ensure that your secret, stored in the application's configuration file, is at least 128 bit of cryptographically secure random data. For example, to generate a 256 bit secret, one could use the output generated by the \"openssl rand -base64 32\" command."}],"value":"Ensure that your secret, stored in the application's configuration file, is at least 128 bit of cryptographically secure random data. For example, to generate a 256 bit secret, one could use the output generated by the \"openssl rand -base64 32\" command."},{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"As of version 9.39 of Mojolicious, if the optional CryptX distribution version 0.080 or later is available in the include path before calling the \"mojo generate app\" tool, then a secure 1024 bit long secret will be generated.<br>"}],"value":"As of version 9.39 of Mojolicious, if the optional CryptX distribution version 0.080 or later is available in the include path before calling the \"mojo generate app\" tool, then a secure 1024 bit long secret will be generated."}],"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"problemTypes":[{"descriptions":[{"type":"CWE","cweId":"CWE-338","lang":"en","description":"CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)"}]}],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":5.3,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"}},{"other":{"type":"ssvc","content":{"timestamp":"2025-05-05T17:58:51.652027Z","id":"CVE-2024-58135","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2025-05-07T19:06:35.967Z"}}]}}