Merge "[Security] Prevent malicious notifications from AMS." into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c118e62076
@@ -2237,8 +2237,13 @@ public class AccountManagerService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new Session(accounts, response, account.type, expectActivityLaunch,
|
new Session(
|
||||||
false /* stripAuthTokenFromResult */, account.name,
|
accounts,
|
||||||
|
response,
|
||||||
|
account.type,
|
||||||
|
expectActivityLaunch,
|
||||||
|
false /* stripAuthTokenFromResult */,
|
||||||
|
account.name,
|
||||||
false /* authDetailsRequired */) {
|
false /* authDetailsRequired */) {
|
||||||
@Override
|
@Override
|
||||||
protected String toDebugString(long now) {
|
protected String toDebugString(long now) {
|
||||||
@@ -2310,6 +2315,15 @@ public class AccountManagerService
|
|||||||
|
|
||||||
Intent intent = result.getParcelable(AccountManager.KEY_INTENT);
|
Intent intent = result.getParcelable(AccountManager.KEY_INTENT);
|
||||||
if (intent != null && notifyOnAuthFailure && !customTokens) {
|
if (intent != null && notifyOnAuthFailure && !customTokens) {
|
||||||
|
/*
|
||||||
|
* Make sure that the supplied intent is owned by the authenticator
|
||||||
|
* giving it to the system. Otherwise a malicious authenticator could
|
||||||
|
* have users launching arbitrary activities by tricking users to
|
||||||
|
* interact with malicious notifications.
|
||||||
|
*/
|
||||||
|
checkKeyIntent(
|
||||||
|
Binder.getCallingUid(),
|
||||||
|
intent);
|
||||||
doNotification(mAccounts,
|
doNotification(mAccounts,
|
||||||
account, result.getString(AccountManager.KEY_AUTH_FAILED_MESSAGE),
|
account, result.getString(AccountManager.KEY_AUTH_FAILED_MESSAGE),
|
||||||
intent, accounts.userId);
|
intent, accounts.userId);
|
||||||
|
|||||||
Reference in New Issue
Block a user