Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Remote, unauthenticated, no interaction, deterministic nonce bypass (AC:L), and admin password reset yields full C/I/A compromise.
Primary rating from Vendor (wordfence).
CVSS VectorVendor: wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Single Sign On For TNG plugin for WordPress is vulnerable to Authentication Bypass via unauthenticated password reset in all versions up to, and including, 2.0.0. This is due to the ssoprocess_ajax() function - registered on wp_ajax_nopriv_ssoprocess_ajax and therefore reachable without authentication - accepting an attacker-supplied email parameter with the setnewpassword operation and calling reset_password() on the resolved account without any ownership token, email confirmation link, or capability check. The sole guard is a call to check_ajax_referer(), which provides no authorization barrier because the ssoajaxnonce nonce is publicly broadcast on every front-end page via wp_localize_script() into the SSOPWDREQUIREMENT JavaScript object; since WordPress computes nonces for logged-out visitors against a shared anonymous session context, any unauthenticated visitor can scrape a valid nonce from the homepage and use it to authenticate the request. This makes it possible for unauthenticated attackers to change the password of any WordPress account, including administrator accounts, enabling complete site takeover.
Articles & Coverage 1
AnalysisAI
Authentication bypass in the Single Sign On For TNG WordPress plugin (all versions through 2.0.0) lets unauthenticated attackers reset the password of any account, including administrators, resulting in full site takeover. The ssoprocess_ajax() handler is exposed via wp_ajax_nopriv_ and performs a password reset on any email-identified account with no ownership token or capability check, guarded only by a nonce that the plugin itself publicly broadcasts to logged-out visitors. Reported by Wordfence with a maximal CVSS of 9.8; no public exploit has been identified at time of analysis.
Technical ContextAI
The flaw lives in a WordPress plugin AJAX action. WordPress AJAX endpoints registered on the wp_ajax_nopriv_{action} hook are intentionally reachable by unauthenticated visitors, and ssoprocess_ajax is registered there. The function accepts an attacker-supplied email parameter with a setnewpassword operation and calls WordPress's reset_password() on the resolved user object. The only guard, check_ajax_referer(), validates the ssoajaxnonce nonce - but this is not an authorization control. The nonce is emitted to every front-end page through wp_localize_script() inside the SSOPWDREQUIREMENT JavaScript object, and because WordPress computes nonces for logged-out users against a shared anonymous session context, any visitor can scrape a valid nonce from the homepage. This matches CWE-620 (Unverified Password Change): the reset path never confirms that the requester controls the target email via a one-time reset token or confirmation link.
RemediationAI
No fixed plugin version is stated in the provided data; a WordPress.org SVN changeset (revision 3624827, https://plugins.trac.wordpress.org/changeset?reponame=&old=3624827%40single-sign-on-for-tng&new=3624827%40single-sign-on-for-tng) indicates an upstream code change exists, but a released patched version is not independently confirmed, so treat this as an upstream fix without a verified tagged release. Because 2.0.0 is the latest affected version and no confirmed fixed release is available, the safest action is to deactivate and remove the Single Sign On For TNG plugin until a patched version (higher than 2.0.0) is published and verified, then upgrade. As compensating controls while the plugin remains active, block or restrict access to the admin-ajax.php endpoint for the ssoprocess_ajax action at the WAF/reverse-proxy layer (a Wordfence or equivalent rule can filter requests carrying action=ssoprocess_ajax with setnewpassword), and monitor for unexpected administrator password changes; note the trade-off that broadly blocking admin-ajax may break legitimate front-end AJAX. Enforcing two-factor authentication on administrator accounts limits post-reset login but does not stop the password change itself. Consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/1d8d393e-764c-491d-8afb-7d4f8d0c387a) for update guidance.
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
Same weakness CWE-620 – Unverified Password Change
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-51789
GHSA-75h6-5h53-j8cq