CVE-2014-7922 in Play Services DSKinfo

Summary

by MITRE

The GoogleAuthUtil.getToken method in the Google Play services SDK before 2015 sets parameters in OAuth token requests upon finding a corresponding _opt_ parameter in the Bundle extras argument, which allows attackers to bypass an intended consent dialog and retrieve tokens for arbitrary OAuth scopes including the SID and LSID scopes, and consequently obtain access to a Google account, via a crafted application, as demonstrated by setting the has_permission=1 parameter value upon finding _opt_has_permission in that argument.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 11/14/2017

The vulnerability described in CVE-2014-7922 represents a critical authorization bypass flaw within the Google Play services SDK that affected versions prior to 2015. This issue specifically targets the GoogleAuthUtil.getToken method which serves as a core component for handling OAuth authentication flows within Android applications. The vulnerability stems from improper input validation and parameter handling within the authentication process, creating a pathway for malicious actors to manipulate the OAuth token request mechanism through crafted Bundle extras arguments.

The technical exploitation of this vulnerability relies on the insecure processing of parameter names within the Bundle extras argument passed to the GoogleAuthUtil.getToken method. When the method encounters specific parameter names such as _opt_has_permission, it automatically sets corresponding OAuth parameters without adequate validation or sanitization. This flaw allows attackers to inject arbitrary parameters like has_permission=1, which effectively bypasses the intended user consent dialog that normally prompts users to authorize access to their Google accounts. The vulnerability specifically enables attackers to obtain tokens for sensitive OAuth scopes including SID and LSID scopes, which provide deep access to user accounts and their associated services.

The operational impact of this vulnerability extends beyond simple privilege escalation to encompass complete account compromise. Attackers can leverage this vulnerability to obtain valid OAuth tokens that grant them access to users' Google accounts without proper authorization or user interaction. The bypass of the consent dialog means that malicious applications can silently obtain tokens for scopes that would normally require explicit user approval, potentially enabling unauthorized access to email accounts, cloud storage, and other Google services. This vulnerability particularly affects applications that rely on Google Play services for authentication and authorization, making it a widespread concern across the Android ecosystem.

This vulnerability maps directly to CWE-20, "Improper Input Validation," and aligns with ATT&CK technique T1548.002, "Abuse Elevation Control Mechanism," as it exploits improper validation to bypass authentication controls. The issue demonstrates poor secure coding practices in parameter handling and input validation, where the system blindly trusts parameter names found in the Bundle extras without proper verification of their legitimacy or intended use. Organizations should implement proper parameter validation and sanitization measures, ensuring that all inputs are verified against expected values before being processed. The recommended mitigation includes updating to Google Play services SDK versions released after 2015, which contain the necessary patches to address this vulnerability. Additionally, developers should avoid relying on insecure parameter handling patterns and implement robust input validation mechanisms to prevent similar issues in custom authentication implementations.

Reservation

10/06/2014

Disclosure

02/22/2015

Moderation

accepted

Entry

VDB-74273

CPE

ready

EPSS

0.00095

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!