oss-sec mailing list archives
CVE-2026-9733: Mojolicious::Plugin::Web::Auth::OAuth2 versions through 0.17 for Perl have an insecure default state parameter
From: Robert Rothenberg <rrwo () cpansec org>
Date: Tue, 23 Jun 2026 08:05:41 +0100
======================================================================== CVE-2026-9733 CPAN Security Group ======================================================================== CVE ID: CVE-2026-9733 Distribution: Mojolicious-Plugin-Web-Auth Versions: through 0.17 MetaCPAN: https://metacpan.org/dist/Mojolicious-Plugin-Web-Auth VCS Repo: https://github.com/hayajo/Mojolicious-Plugin-Web-Auth Mojolicious::Plugin::Web::Auth::OAuth2 versions through 0.17 for Perl have an insecure default state parameter Description ----------- Mojolicious::Plugin::Web::Auth::OAuth2 versions through 0.17 for Perl have an insecure default state parameter. When no state generator is specified in the constructor, the module defaults to using a SHA-1 hash of predictable and low-entropy sources, including the epoch time (which is leaked via the HTTP Date header) and a call to Perl's built-in rand function. A predictable state allows an attacker to hijack another user's session through cross site request forgery (CSRF). Problem types ------------- - CWE-340 Generation of Predictable Numbers or Identifiers - CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator Workarounds ----------- Users should specify a state_generator function in the plugin configuration that uses a secure CSPRNG such as Crypt::PRNG or (for Mojolicious 9.46 or later) the Mojo::Util::random_bytes function. For example, plugin 'Web::Auth', module => 'OAuth2', ... state_generator => sub { unpack("H*", Mojo::Util::random_bytes(20)) }; References ---------- https://metacpan.org/release/HAYAJO/Mojolicious-Plugin-Web-Auth-0.17/source/lib/Mojolicious/Plugin/Web/Auth/OAuth2.pm#L129-131 https://datatracker.ietf.org/doc/html/rfc6749#section-10.12 https://security.metacpan.org/patches/M/Mojolicious-Plugin-Web-Auth/0.17/CVE-2026-9733-r2.patch
Current thread:
- CVE-2026-9733: Mojolicious::Plugin::Web::Auth::OAuth2 versions through 0.17 for Perl have an insecure default state parameter Robert Rothenberg (Jun 23)
