---
id: "CVE-2026-111949"
kind: "vulnerability"
aliases: ["CVE-2026-111949"]
title: "WordPress 2FA plugin lets password-holding attacker bypass second factor via passkey"
severity: "high"
cvss: 7.5
epss: 0.00217
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress"]
not_affected_if: ["plugin-not-installed", "plugin-version-6.3.1-or-later"]
published_at: "2026-10-21T06:16:48+00:00"
first_seen_at: "2026-10-23T21:57:28+00:00"
updated_at: "2026-10-25T03:17:00+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-111949", "first_seen_at": "2026-10-23T21:57:28+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-111949", "first_seen_at": "2026-10-24T13:15:54+00:00"}]
---

# WordPress 2FA plugin lets password-holding attacker bypass second factor via passkey

The miniOrange 2FA WordPress plugin before 6.3.1 lets a pending passkey login register an extra passkey on an account that already has one. An attacker who knows a user's password can add their own authenticator and get past the second factor.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed miniOrange 2FA plugin version in the WordPress admin plugins list or with `wp plugin get miniorange-2-factor-authentication --field=version` (plugin slug unknown from sources; verify the slug)
- Confirm whether passkey login is enabled in the plugin settings

## Fix

- Update the miniOrange 2FA plugin to `6.3.1` or later
- Review each user's registered passkeys and remove any that are unrecognized

## Timeline

- 2026-10-23T21:57:28+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-111949
- 2026-10-24T13:15:54+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-111949

## From the sources

The miniOrange 2FA  WordPress plugin before 6.3.1 does not prevent a pending passkey login from registering an additional passkey on an account that already has one configured, allowing an attacker who knows a user's password to add their own authenticator and bypass the second factor.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
