CVE-2026-14495: CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) in wpdo5ea DoLogin Security
The DoLogin Security plugin for WordPress is vulnerable to Authentication Bypass via Insufficient Randomness in all versions up to, and including, 4.3. The vulnerability exists because `dologin\s::rrand()` seeds the Mersenne Twister with `mt_srand((double) microtime() * 1000000)` — discarding the integer-seconds component of `microtime()` and constraining the seed to a range of approximately 10^6 values (~20 bits of entropy) — after which every character of the 32-character magic-link token is drawn sequentially with `mt_rand()`, making the entire token a deterministic function of that seed. Because `Pswdless::try_login()` is registered on the unauthenticated `init` hook, resolves the target account by the auto-increment numeric ID embedded in the `?dologin=<id>.<hash>` parameter, performs the hash comparison using a non-constant-time `!=` operator, and then calls `wp_set_auth_cookie()` directly — never passing through `wp_authenticate()` and therefore never triggering the plugin's own `Auth::_has_login_err()` lockout — an unauthenticated attacker can brute-force the ~10^6-candidate seed space to reconstruct an active passwordless login token and authenticate as any targeted user, including administrators, without a password. Exploitation requires that a valid, unexpired passwordless login link (active for up to 7 days) exists for the target account at the time of the attack, and that the numeric link ID is known or guessable from the auto-increment primary key.
AI Analysis
Technical Summary
CVE-2026-14495 affects the DoLogin Security WordPress plugin through insufficient randomness in its passwordless login token generation. The plugin seeds the Mersenne Twister PRNG with only about 20 bits of entropy derived from the microseconds component of the current time, making the 32-character magic-link token deterministic and guessable. The authentication bypass occurs because the plugin verifies the token using a non-constant-time comparison and directly sets authentication cookies without triggering lockout mechanisms. Exploitation requires a valid, unexpired passwordless login link (valid up to 7 days) and knowledge or guessability of the auto-increment numeric link ID. This vulnerability allows an unauthenticated attacker to brute-force the seed space (~10^6 possibilities) to impersonate any user, including administrators.
Potential Impact
Successful exploitation enables an unauthenticated attacker to bypass authentication and gain access to any user account, including administrative accounts, without a password. This compromises confidentiality, integrity, and availability of the affected WordPress site. The attacker can fully impersonate targeted users, potentially leading to site takeover or data compromise.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, users should disable the passwordless login feature or the DoLogin Security plugin entirely to prevent exploitation. Monitoring for suspicious login activity related to passwordless tokens is advised. Do not rely on the plugin's current authentication mechanism for security.
CVE-2026-14495: CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) in wpdo5ea DoLogin Security
Description
The DoLogin Security plugin for WordPress is vulnerable to Authentication Bypass via Insufficient Randomness in all versions up to, and including, 4.3. The vulnerability exists because `dologin\s::rrand()` seeds the Mersenne Twister with `mt_srand((double) microtime() * 1000000)` — discarding the integer-seconds component of `microtime()` and constraining the seed to a range of approximately 10^6 values (~20 bits of entropy) — after which every character of the 32-character magic-link token is drawn sequentially with `mt_rand()`, making the entire token a deterministic function of that seed. Because `Pswdless::try_login()` is registered on the unauthenticated `init` hook, resolves the target account by the auto-increment numeric ID embedded in the `?dologin=<id>.<hash>` parameter, performs the hash comparison using a non-constant-time `!=` operator, and then calls `wp_set_auth_cookie()` directly — never passing through `wp_authenticate()` and therefore never triggering the plugin's own `Auth::_has_login_err()` lockout — an unauthenticated attacker can brute-force the ~10^6-candidate seed space to reconstruct an active passwordless login token and authenticate as any targeted user, including administrators, without a password. Exploitation requires that a valid, unexpired passwordless login link (active for up to 7 days) exists for the target account at the time of the attack, and that the numeric link ID is known or guessable from the auto-increment primary key.
CVSS v3.1
Score 8.8high
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-14495 affects the DoLogin Security WordPress plugin through insufficient randomness in its passwordless login token generation. The plugin seeds the Mersenne Twister PRNG with only about 20 bits of entropy derived from the microseconds component of the current time, making the 32-character magic-link token deterministic and guessable. The authentication bypass occurs because the plugin verifies the token using a non-constant-time comparison and directly sets authentication cookies without triggering lockout mechanisms. Exploitation requires a valid, unexpired passwordless login link (valid up to 7 days) and knowledge or guessability of the auto-increment numeric link ID. This vulnerability allows an unauthenticated attacker to brute-force the seed space (~10^6 possibilities) to impersonate any user, including administrators.
Potential Impact
Successful exploitation enables an unauthenticated attacker to bypass authentication and gain access to any user account, including administrative accounts, without a password. This compromises confidentiality, integrity, and availability of the affected WordPress site. The attacker can fully impersonate targeted users, potentially leading to site takeover or data compromise.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, users should disable the passwordless login feature or the DoLogin Security plugin entirely to prevent exploitation. Monitoring for suspicious login activity related to passwordless tokens is advised. Do not rely on the plugin's current authentication mechanism for security.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Wordfence
- Date Reserved
- 2026-07-02T17:42:28.811Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a4de42ec9d9e3dbe38c3aba
Added to database: 07/08/2026, 05:46:22 UTC
Last enriched: 07/15/2026, 12:21:27 UTC
Last updated: 08/22/2026, 10:52:07 UTC
Views: 83
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.