CVE-2026-89027

JWT Authentication for WP REST APIs <= 4.7.0 - Unauthenticated Authentication Method Downgrade via 'mo_rest_api_test_config' Parameter

2026-09-14 00:00
Choriyev Qahramon

Strategic Overview

Status
Patched in 4.8.0
Affected Version
<= 4.7.0
CVSS
5.3Medium
Weakness type
CWE-693 · Protection Mechanism Failure
CVE
CVE-2026-89027
View all JWT Authentication for WP REST APIs vulnerabilities

At a glance

CVE-2026-89027 is a medium-severity Protection Mechanism Failure vulnerability in the JWT Authentication for WP REST APIs WordPress plugin, affecting versions <= 4.7.0. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 4.8.0; sites on affected versions should update now. Disclosed September 2026, reported by Choriyev Qahramon.

Vulnerability Overview

The JWT Authentication for WP REST APIs plugin for WordPress is vulnerable to authentication method downgrade in all versions up to, and including, 4.7.0. This is due to the plugin honoring the 'mo_rest_api_test_config' request parameter in the mo_api_auth_is_valid_request() function without a capability check or nonce verification, which selects the authentication handler for the request. This makes it possible for unauthenticated attackers to force protected REST API requests to be validated with HTTP Basic Authentication against WordPress user credentials, regardless of the JWT, API key, or client-credentials method the administrator configured, and to guess credentials without the rate limiting applied to the other methods.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.

CWE-693: Protection Mechanism Failure

The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.

Remediation

Update to version 4.8.0, or a newer patched version

How does WordSec protect against this?

This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: JWT Authentication for WP REST APIs 4.8.0 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C