JWT Authentication for WP REST APIs <= 4.7.0 - Unauthenticated Authentication Method Downgrade via 'mo_rest_api_test_config' Parameter
Strategic Overview
- Status
- Patched in 4.8.0
- Affected Plugin
- JWT Authentication for WP REST APIs
- Affected Version
<= 4.7.0- CVSS
- 5.3Medium
- Weakness type
- CWE-693 · Protection Mechanism Failure
- CVE
CVE-2026-89027
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
Other vulnerabilities in JWT Authentication for WP REST APIs
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C