Author: Armando Huesca Prida
Summary:
An attacker with access to the offline victim’s otp physical token or virtual app (like google authenticator) is able to bypass the first authentication phase (username/password mechanism) and log-in using username/otp combination only (phase 2 of 2FA).
Tested Versions: Citrix ShareFile through 19.1
Product URL: https://www.sharefile.com/
CVE-ID: CVE-2019-7218
Details:
An attacker with access to the offline victim’s otp physical token or virtual app (like google authenticator) is able to bypass the first authentication phase (username/password mechanism) and log-in using username/otp combination only (phase 2 of 2FA). This way, it is possible to downgrade 2FA to 1FA, without knowing the victim’s password.
In order to exploit this vulnerability, attackers should have access to the offline otp token (physical or virtual): it is not possible to gain access if the otp is generated after the phase 1 authentication and sent to the client via SMS or phone call.
This vulnerability takes place because the server does not control that client’s phase 1 authentication succeeded before validating phase 2 authentication (authentication schema).
Example:
An attacker is able to intercept the log-in request with garbage data and use this request as base for the attack, changing the op and password parameters as follows:
change op=webflow-auth with op=webflow-verify
change password=* with code=[OTP]
In case that the username/otp combination is correct (phase 2 succeeded), phase 1 authentication is bypassed and unauthorized access to the application is gained by the attacker as shown below:
Make sure that client’s phase 1 authentication succeeded before validating phase 2 authentication.
Timeline:
28-01-2019 Vendor disclosure
05-02-2019 Acknoledge from vendor
02-05-2019 Public ReleaseCredit:
Discovered by Andrea Pessione and Armando Huesca of SKIT Cyber Security