Cyber Resilience

CVE-2026-14495

Published
08 July 2026
Modified
08 July 2026
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0043 36th percentile
Risk Priority 55 floored blend · peak EPSS

Summary

CVE-2026-14495 is a high-severity PRNG (CWE-338) vulnerability in Wordpress (inferred from references). Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Valid Accounts (T1078); ranked at the 36th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to IA-5 (Authenticator Management) and SC-23 (Session Authenticity) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1078 Valid Accounts Stealth
Adversaries may obtain and abuse credentials of existing accounts as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion.
T1110.004 Credential Stuffing Credential Access
Adversaries may use credentials obtained from breach dumps of unrelated accounts to gain access to target accounts through credential overlap.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Why these techniques?

The vulnerability enables authentication bypass by brute-forcing a low-entropy seed to forge valid passwordless login tokens (T1078 Valid Accounts via T1110.004 Credential Stuffing), and the flaw is exposed through an unauthenticated web endpoint in a WordPress plugin (T1190 Exploit Public-Facing Application).

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-56141Shared CWE-338
CVE-2026-25726Shared CWE-338
CVE-2024-40762Shared CWE-338
CVE-2026-11832Shared CWE-338
CVE-2025-46653Shared CWE-338
CVE-2025-66630Shared CWE-338
CVE-2026-61500Shared CWE-338
CVE-2024-58041Shared CWE-338
CVE-2025-40905Shared CWE-338
CVE-2026-40514Shared CWE-338

Affected Assets

Wordpress
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • IA-5 Authenticator Management
  • AC-7 Unsuccessful Logon Attempts
  • SC-23 Session Authenticity
Detect
Catch it (NIST detect / respond)
  • AC-7 Unsuccessful Logon Attempts
Harden
Shrink the surface (DISA STIG)
  • 3 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V7.2.3
  • V11.5.1

Mitigating Controls (NIST 800-53 r5) AI

prevent

IA-5 requires proper authenticator generation and management; the plugin's mt_srand(microtime()*1e6) + mt_rand() produces only ~20 bits of entropy for the 32-character magic-link token, directly violating this requirement.

preventdetect

AC-7 enforces limits on unsuccessful authentication attempts; the plugin bypasses its own lockout logic by calling wp_set_auth_cookie() directly on the unauthenticated init hook, allowing unlimited brute-force attempts against the weak token.

prevent

SC-23 requires session authenticity; the deterministic, low-entropy magic-link token allows an attacker to forge a valid unauthenticated session for any user whose link ID is known.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices explicitly require cryptographically strong RNG selection and usage in security contexts.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Mandates use of approved cryptographic controls, directly requiring cryptographically strong RNGs.

detects

Security testing can detect use of weak random number generators.

prevents

Secure SDLC processes should catch weak PRNG usage during design and code review.

prevents

Application security requirements can specify cryptographically strong random number generation.

prevents

Secure engineering principles include selection of appropriate cryptographic primitives.

prevents

Secure coding standards prohibit use of weak PRNGs in security contexts.

References