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).
Analysis and contextual insights are available on OpenCVE Cloud.
Vendor Workaround
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)) };
Tracking
Sign in to view the affected projects.
No advisories yet.
Tue, 23 Jun 2026 21:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Hayajo
Hayajo mojolicious::plugin::web::auth::oauth2 |
|
| Vendors & Products |
Hayajo
Hayajo mojolicious::plugin::web::auth::oauth2 |
Tue, 23 Jun 2026 15:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
Tue, 23 Jun 2026 08:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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). | |
| Title | Mojolicious::Plugin::Web::Auth::OAuth2 versions through 0.17 for Perl have an insecure default state parameter | |
| Weaknesses | CWE-338 CWE-340 |
|
| References |
|
Status: PUBLISHED
Assigner: CPANSec
Published:
Updated: 2026-06-23T14:18:05.692Z
Reserved: 2026-05-27T17:25:58.644Z
Link: CVE-2026-9733
Updated: 2026-06-23T09:06:58.202Z
No data.
No data.
OpenCVE Enrichment
Updated: 2026-06-24T11:45:02Z