Description
The Simple JWT Login – Allows you to use JWT on REST endpoints. plugin for WordPress is vulnerable to Authentication Bypass to Privilege Escalation in all versions up to, and including, 3.6.6 via the `payload` parameter. The vulnerability exists because `AuthenticateService::generatePayload()` only overwrites JWT payload keys whose names appear in the admin-configured `jwt_payload` list — leaving any attacker-supplied identity claims such as `email`, `id`, or `username` intact and signed into the JWT with the site's HS256 secret. This makes it possible for authenticated attackers, with subscriber-level access and above, to escalate their privileges to that of an Administrator by injecting a target administrator's email address into the `payload` parameter at the `/wp-json/simple-jwt-login/v1/auth` endpoint, then redeeming the resulting JWT at the `/autologin` endpoint to obtain a fully authenticated session as that administrator.
Problem types
CWE-269 Improper Privilege Management
Product status
Any version
Timeline
| 2026-07-10: | Disclosed |
Credits
Navapon Premkasem (71C4)
References
www.wordfence.com/...-9f57-4882-9e3e-0e9853416af9?source=cve
plugins.trac.wordpress.org/...rvices/AuthenticateService.php
plugins.trac.wordpress.org/...rvices/AuthenticateService.php
plugins.trac.wordpress.org/.../src/Services/LoginService.php
plugins.trac.wordpress.org/...6/src/Services/BaseService.php
plugins.trac.wordpress.org/...new=3597277%40simple-jwt-login