Authentication bypass on JetPack SSO manager - Allows to access the administration panel of wordpress without user interaction
High
A
Automattic
Submitted None
Team Summary
Official summary from Automattic
The main issue in this report was that someone could invite an arbitrary email to a site, and then also verify that email address. If someone was using that email on a Jetpack site, SSO and "Match accounts using email addresses" was enabled, the attacker could gain access to that site where account with that arbitrary email existed.
Actions:
Reported by
sodium_
Vulnerability Details
Technical details and impact analysis
Hello team,
## Summary:
The JetPack SSO manager is plugin that allows any user to log into their wordpress using the same log-in credentials you use for WordPress.com, then they’ll now be able to register for and sign in to self-hosted WordPress.org sites quickly, example :
User creates their wordpress instance at host.com, they install and enable JetPack SSO
They later can login into their wordpress instance at host.com using wordpress.com, users are also can make other users register/login with the same company email (@host.com) and access the administration panel of the host
## Description :
The user anyways when he tries to authenticate into his wordpress instance via wordpress.com he gotta have his email confirmed, otherwise it won't work, interstingly there is a way that bypasses the email confirmation when a user invites you to his account and you accept his invite your account will be confirmed, chaining those issues the following scenario can result for the authentication bypass of any wordpress instance when these circumestances are met :
* wordpress installed on host.com have jetpack installed and "Match accounts using email addresses" enabled (IDK if this is necessary anyways)
* wordpress instance have a user with specific email, that email does not exist on wordpress.com
You can access this host.com wordpress panel via
## Steps To Reproduce:
**Setup**
1. Install Jetpack latest version, once installed go to plugins>Jetpack>settings>"Match accounts using email addresses">enable (I'm not sure if this is intended or not)
2. Add user into your wordpress (host.com) with their email (says [email protected])
* **As attacker (email confirmation bypass)** :
1. Create two accounts at Wordpress.com
A/. One with your personal email and confirm it
B/. Second with the victim's existed user at host.com email ([email protected])
2. At your confirmed wordpress.com account go to settings >users invite your second account ([email protected])
3. At your second account go to notifications at the top right, see the invitation and accept it
4. See that your Wordpress.com account’s email has been verified (email confirmation bypass )
* **access the wordpress admin panel**
1. Now at the same browser where the ([email protected]) Wordpress.com account
2. go to host.com wordpress panel
3. Click on sign in with wordpress.com
4. Forward
5. See yourself logged in as admin on host.com wordpress
## Platform(s) Affected:
JetPack latest version
## Supporting Material/References:
As example I bypass ███████
██████
## Impact
* Bypass authentication of websites that runs wordpress with JetPack plugin without any user inteaction
Regards,
Adam
Report Details
Additional information and metadata
State
Closed
Substate
Resolved