Read the docs

Authentication bypass in miniOrange OTP Login WordPress plugin

Priority LOW 38CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-287.

Summary

The miniOrange OTP Login, Verification and SMS Notifications WordPress plugin is affected up to and including 5.5.8. The mo_by_pass_login() function skips password validation because the Delay OTP grace state is stored per user with no session binding (CWE-287). An unauthenticated remote attacker can log in as any user, including administrators, when OTP only login and Delay OTP are enabled and the target is within its Delay OTP interval.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

The miniOrange OTP Login, Verification and SMS Notifications plugin for WordPress is vulnerable to Authentication Bypass in versions up to, and including, 5.5.8 via the `mo_by_pass_login()` function. This is due to `mo_delay_otp_process()` short-circuiting the authentication flow before password validation or the administrator intent gate (added in 5.5.6) can run, combined with the Delay OTP grace flag (`mov_last_verified_dttm`) being stored as a `user_meta` row keyed solely by target user ID with no binding to the originating session, cookie, IP address, or device. This makes it possible for unauthenticated attackers to authenticate as any WordPress user — including administrators — by submitting only a known username with the `mo_wp_login_intent=otp` parameter and any non-empty password, thereby inheriting a legitimate user's open Delay OTP grace window without ever supplying correct credentials. Exploitation requires the site to have OTP-only login (`wp_login_skip_password=1`, `wp_login_skip_password_fallback=0`) and Delay OTP Verification (`wp_login_delay_otp=1`) enabled, and the target account must currently be within its configured Delay OTP interval.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00427 37th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
miniOrangeminiOrange OTP Login, Verification and SMS Notificationsup to 5.5.8—No fix listedCNA
  • miniOrange OTP Login, Verification and SMS Notifications VendorminiOrange Affected up to 5.5.8 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for miniOrange OTP Login, Verification and SMS Notifications.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Timeline

  1. 2026-10-16 Threatist record created from CVE-2026-103895
  2. 2026-10-16 Priority changed: MEDIUM → LOW
  3. 2026-10-16 Alias added: GHSA-vw7g-2fxg-c3v8
  4. 2026-10-16 CISA SSVC decision points changed

References

  • TI-2023-05558 Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Authentication Bypass CVSS 3.1CRITICAL 9.8
  • TI-2023-02794 WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn) <= 7.6.4 - Authentication Bypass CVSS 3.1CRITICAL 9.8
  • TI-2022-15071 WordPress OAuth Single Sign On – SSO (OAuth Client) Plugin <= 6.23.3 is vulnerable to Broken Authentication CVSS 3.1HIGH 8.8
  • TI-2021-22592 WordPress Plugin Backup and Restore 1.0.3 Arbitrary File Deletion CVSS 4.0HIGH 8.7
  • TI-2023-04605 Active Directory Integration < 4.1.10 - Unauthenticated Log Disclosure CVSS 3.1HIGH 7.5
  • TI-2024-09173 Login using WordPress Users ( WP as SAML IDP ) <= 1.15.6 - Authenticated (Administrator+) SQL Injection CVSS 3.1HIGH 7.2
See all 128 →

Sources