JWT Authentication for WP REST APIs Security & Risk Analysis

wordpress.org/plugins/wp-rest-api-authentication

Secure and protect WordPress REST API from unauthorized access using JWT token, Basic Authentication, API Key, OAuth 2, or external token.

20K active installs v4.3.0 PHP 5.6+ WP 3.0.1+ Updated Feb 9, 2026
api-keyjwt-authenticationrestrest-apisecure-api
97
A · Safe
CVEs total2
Unpatched0
Last CVEApr 16, 2025
Safety Verdict

Is JWT Authentication for WP REST APIs Safe to Use in 2026?

Generally Safe

Score 97/100

JWT Authentication for WP REST APIs has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Apr 16, 2025Updated 1mo ago
Risk Assessment

The wp-rest-api-authentication plugin exhibits a mixed security posture. While it demonstrates good practices in areas such as using prepared statements for all SQL queries and properly escaping all output, significant concerns arise from its attack surface and historical vulnerability data. The analysis reveals a substantial number of unprotected entry points, including a majority of AJAX handlers and REST API routes that lack proper authentication or permission checks. This directly exposes functionalities to unauthorized access and potential manipulation. The plugin's vulnerability history, with past medium and high severity issues related to Missing Authorization and CSRF, reinforces these concerns. Although there are no currently unpatched vulnerabilities, the recurring pattern of authorization-related weaknesses suggests a persistent oversight in securing these critical entry points. In conclusion, while the plugin has strengths in data handling and output sanitization, the prevalent lack of authentication on its exposed interfaces presents a significant security risk that needs immediate attention.

Key Concerns

  • Multiple unprotected AJAX handlers
  • Multiple unprotected REST API routes
  • High severity historical vulnerability (unpatched)
  • Medium severity historical vulnerability (unpatched)
  • Flows with unsanitized paths
Vulnerabilities
2

JWT Authentication for WP REST APIs Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

High
1
Medium
1

2 total CVEs

CVE-2025-39545medium · 4.3Missing Authorization

WordPress REST API Authentication <= 3.6.3 - Missing Authorization to Authenticated (Subscriber+) Limited Options Update

Apr 16, 2025 Patched in 3.6.4 (7d)
CVE-2022-45073high · 8.8Cross-Site Request Forgery (CSRF)

WordPress REST API Authentication <= 2.4.0 - Cross-Site Request Forgery

Nov 9, 2022 Patched in 2.4.1 (440d)
Code Analysis
Analyzed Mar 16, 2026

JWT Authentication for WP REST APIs Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
1
492 escaped
Nonce Checks
18
Capability Checks
7
File Operations
2
External Requests
10
Bundled Libraries
0

Output Escaping

100% escaped493 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

5 flows1 with unsanitized paths
mo_api_auth_initialize_api_flow (admin\class-miniorange-api-authentication-admin.php:370)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
5 unprotected

JWT Authentication for WP REST APIs Attack Surface

Entry Points6
Unprotected5

AJAX Handlers 4

authwp_ajax_save_temporary_dataincludes\class-miniorange-api-authentication.php:178
authwp_ajax_install_and_activate_caw_freeincludes\class-miniorange-api-authentication.php:180
authwp_ajax_install_and_activate_wcps_freeincludes\class-miniorange-api-authentication.php:181
authwp_ajax_mo_api_auth_close_admin_noticesminiorange-api-authentication.php:82

REST API Routes 2

GET/wp-json/api/v1token-validateadmin\class-miniorange-api-authentication-admin.php:323
POST/wp-json/api/v1tokenadmin\class-miniorange-api-authentication-admin.php:332
WordPress Hooks 18
actionadmin_menuadmin\class-miniorange-api-authentication-admin.php:59
actionadmin_enqueue_scriptsadmin\class-miniorange-api-authentication-admin.php:60
actionadmin_enqueue_scriptsadmin\class-miniorange-api-authentication-admin.php:61
actionmo_api_auth_daily_cron_hookincludes\class-miniorange-api-authentication-cron-manager.php:29
actionplugins_loadedincludes\class-miniorange-api-authentication.php:148
actionadmin_enqueue_scriptsincludes\class-miniorange-api-authentication.php:172
actionadmin_enqueue_scriptsincludes\class-miniorange-api-authentication.php:173
actionadmin_menuincludes\class-miniorange-api-authentication.php:174
actionadmin_menuincludes\class-miniorange-api-authentication.php:175
actionrest_api_initincludes\class-miniorange-api-authentication.php:176
actionrest_api_initincludes\class-miniorange-api-authentication.php:177
actionadmin_noticesincludes\class-miniorange-api-authentication.php:179
filteradmin_footer_textminiorange-api-authentication.php:47
actionadmin_enqueue_scriptsminiorange-api-authentication.php:75
actionadmin_initminiorange-api-authentication.php:76
actionadmin_print_footer_scripts-plugins.phpminiorange-api-authentication.php:81
actionadmin_noticesminiorange-api-authentication.php:171
actionadmin_noticesminiorange-api-authentication.php:181

Scheduled Events 1

mo_api_auth_daily_cron_hook
Maintenance & Trust

JWT Authentication for WP REST APIs Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 9, 2026
PHP min version5.6
Downloads490K

Community Trust

Rating88/100
Number of ratings73
Active installs20K
Developer Profile

JWT Authentication for WP REST APIs Developer Profile

miniOrange

38 plugins · 83K total installs

76
trust score
Avg Security Score
96/100
Avg Patch Time
324 days
View full developer profile
Detection Fingerprints

How We Detect JWT Authentication for WP REST APIs

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-rest-api-authentication/css/font-awesome.min.css/wp-content/plugins/wp-rest-api-authentication/css/style_settings.min.css
Version Parameters
wp-rest-api-authentication/css/style_settings.min.css?ver=wp-rest-api-authentication/css/font-awesome.min.css?ver=

HTML / DOM Fingerprints

JS Globals
Mo_API_Authentication_Feedback
FAQ

Frequently Asked Questions about JWT Authentication for WP REST APIs