Commit Graph

1068 Commits

Author SHA1 Message Date
Hugh Chen
80d8b03d02 RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message
This CL add more prompts presented for users to avoid phishing attacks.

Screenshot:
https://screenshot.googleplex.com/p5PZbphN46ddPFV.png
https://screenshot.googleplex.com/6Q2wKfPbNQmTtx8.png
https://screenshot.googleplex.com/987VpYgNUZL2K4T.png
https://screenshot.googleplex.com/9eVg6SAGScVXU8U.png

Bug: 167403112
Test: manually test
Change-Id: Iadec059b662fd91754ad573bbe688702cdd3c9af
(cherry picked from commit 10e4599219)
2021-06-18 03:14:41 +00:00
Hugh Chen
f4f2fae306 RESTRICT AUTOMERGE Update string
1. Replace "An untrusted Bluetooth device" to "A Bluetooth device".
2. Replace "Deny" to "Don't allow"

https://docs.google.com/document/d/18bVSIAyX4MNpNeCvxqyZu7CXcBUcdV0pnh-gzVprjqU/edit?ts=60709637

Bug: 167403112
Test: send intent to test right prompts message is pop up.
make -j42 RunSettingsRoboTests

Change-Id: I38da15d4b1fb08671f6352458cbf3f735b4083bc
(cherry picked from commit 38fc9a91b5)
2021-06-18 03:14:31 +00:00
TreeHugger Robot
d8cacc526a Merge changes Ia51528f2,Id27a7809 into rvc-qpr-dev
* changes:
  RESTRICT AUTOMERGE Fix unable to send file via OPP
  RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
2021-05-13 01:33:00 +00:00
Jakub Pawlowski
123cb13df8 Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev am: 3a2ab54f36 am: 52ea712e3b am: c714533fd2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14487883

Change-Id: I64eb60c0041ffd2f07b2b879fd2daf082a6b331e
2021-05-12 20:55:50 +00:00
Jakub Pawlowski
c714533fd2 Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev am: 3a2ab54f36 am: 52ea712e3b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14487883

Change-Id: I47b6e2b3de493030adfd49bfeb4aabaf16046771
2021-05-12 20:36:41 +00:00
Jakub Pawlowski
52ea712e3b Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev am: 3a2ab54f36
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14487883

Change-Id: Ied144c16d607921281d10783a77ae0d46885d757
2021-05-12 20:19:16 +00:00
Jakub Pawlowski
3a2ab54f36 Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev 2021-05-12 19:27:19 +00:00
Hugh Chen
c556938807 RESTRICT AUTOMERGE Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
(cherry picked from commit bb5be240c0)
2021-05-11 15:45:18 +00:00
Hugh Chen
7b05629834 RESTRICT AUTOMERGE Fix unable to send file via OPP am: 51755e9a33
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14419447

Change-Id: I7256d5f30d6c4b3063181a768b5d3796cf517383
2021-05-11 06:16:42 +00:00
Jakub Pawlowski
68f799a4c6 Prevent drawing on top of DevicePickerActivity
Bug: 182584940
Change-Id: I8b27b397bce1708a42b96b1b647c64e23142c468
2021-05-10 19:50:49 +02:00
Hugh Chen
51755e9a33 RESTRICT AUTOMERGE Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
(cherry picked from commit bb5be240c0)
2021-05-04 06:04:05 +00:00
Hugh Chen
5de62d1955 RESTRICT AUTOMERGE Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
(cherry picked from commit bb5be240c0)
2021-05-04 06:00:16 +00:00
Hugh Chen
43d093ebe8 RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
BluetoothPermissionActivity and DevicePickerFragment will send
broadcast to return the result to calling apps. As this broadcast
intent is from Settings with uid 1000, it will be sent to any
protected BroadcastReceivers in the device. It can make an attacker
send broadcast to protected BroadcastReceivers like factory reset intent
(android/com.android.server.MasterClearReceiver) via
BluetoothPermissionActivity or DevicePickerFragment.

This CL will not allow to set package name and class name to avoid
the attacker.

Bug: 179386960
Bug: 179386068
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify factory reset not started and no system UI notification.

Change-Id: Id27a78091ab578077853b8fbb97a4422cff0a158
(cherry picked from commit 8adedc6249)
2021-04-26 03:43:57 +00:00
Hugh Chen
208e32af9f RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
BluetoothPermissionActivity and DevicePickerFragment will send
broadcast to return the result to calling apps. As this broadcast
intent is from Settings with uid 1000, it will be sent to any
protected BroadcastReceivers in the device. It can make an attacker
send broadcast to protected BroadcastReceivers like factory reset intent
(android/com.android.server.MasterClearReceiver) via
BluetoothPermissionActivity or DevicePickerFragment.

This CL will not allow to set package name and class name to avoid
the attacker.

Bug: 179386960
Bug: 179386068
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify factory reset not started and no system UI notification.

Change-Id: Id27a78091ab578077853b8fbb97a4422cff0a158
(cherry picked from commit 8adedc6249)
2021-04-26 03:42:48 +00:00
Hugh Chen
e21d06f6ee RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
BluetoothPermissionActivity and DevicePickerFragment will send
broadcast to return the result to calling apps. As this broadcast
intent is from Settings with uid 1000, it will be sent to any
protected BroadcastReceivers in the device. It can make an attacker
send broadcast to protected BroadcastReceivers like factory reset intent
(android/com.android.server.MasterClearReceiver) via
BluetoothPermissionActivity or DevicePickerFragment.

This CL will not allow to set package name and class name to avoid
the attacker.

Bug: 179386960
Bug: 179386068
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify factory reset not started and no system UI notification.

Change-Id: Id27a78091ab578077853b8fbb97a4422cff0a158
(cherry picked from commit 8adedc6249)
2021-04-26 03:12:21 +00:00
Hugh Chen
5108e1bd83 RESTRICT AUTOMERGE Update String am: 19aeca103d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13275409

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0e4b9032a22e5306c5e10ff54f75dd4739199605
2021-01-07 08:05:52 +00:00
Hugh Chen
dc2b694a54 DO NOT MERGE: resolve merge conflicts of c17ec818af to rvc-qpr-dev
Bug: 167403112
Test: send intent to test right prompts message is pop up. make -j42 RunSettingsRoboTests
Change-Id: Iec4d1963e626829b696c2047c5979a684119acf7
Merged-In: Iec4d1963e626829b696c2047c5979a684119acf7
2021-01-07 06:03:10 +00:00
Hugh Chen
8ecca02ece RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message
Before this CL, there is a possible phishing attack allowing a malicious
BT device to acquire permissions based on insufficient information
presented to the user in the consent dialog. This could lead to local
escalation of privilege with no additional execution privileges needed.
User interaction is needed for exploitation.

This CL add more prompts presented for users to avoid phishing attacks.

Merge Conflict Notes:
There were a number of entries in strings.xml that did not exist on this
branch. However, as the CL only adds new entries rather than modifying
old ones this should not cause a problem. There were no merge conflicts
in the java files.

Bug: 167403112
Test: send intent to test right prompts message is pop up. make -j42 RunSettingsRoboTests
Change-Id: Idc6ef558b692115bb82ea58cf223f5919b618633
2020-12-30 18:34:43 -08:00
Hugh Chen
bbe765f992 RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message
Before this CL, there is a possible phishing attack allowing a malicious
BT device to acquire permissions based on insufficient information
presented to the user in the consent dialog. This could lead to local
escalation of privilege with no additional execution privileges needed.
User interaction is needed for exploitation.

This CL add more prompts presented for users to avoid phishing attacks.

Merge Conflict Notes:
There were a number of entries in strings.xml that did not exist on this
branch. However, as the CL only adds new entries rather than modifying
old ones this should not cause a problem. There were no merge conflicts
in the java files.

Bug: 167403112
Test: send intent to test right prompts message is pop up. make -j42 RunSettingsRoboTests
Change-Id: Idc6ef558b692115bb82ea58cf223f5919b618633
2020-12-30 18:33:52 -08:00
TreeHugger Robot
79bf00aac3 Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6 am: cfdae774cd am: 635029b87f am: f49e9d2196 am: 0b89867372
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iadf73a6dac422ef24851c603a1e5cd1ab8c0dcf2
2020-12-09 14:31:38 +00:00
TreeHugger Robot
f49e9d2196 Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6 am: cfdae774cd am: 635029b87f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I36f99bfb1e5eee253bb4ce030d7000cb40c2ff63
2020-12-09 13:49:10 +00:00
TreeHugger Robot
635029b87f Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6 am: cfdae774cd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iad91ec439965d52c652f79ce4d6fe3b125631f79
2020-12-09 13:03:53 +00:00
TreeHugger Robot
cfdae774cd Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If3605d2b4dbad8b7b4979b644c89352ee8449ba1
2020-12-09 12:17:08 +00:00
TreeHugger Robot
2117006bc6 Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7d7dcaefd10f297c9e268d8f9d8bf666d98b08fd
2020-12-09 12:08:40 +00:00
TreeHugger Robot
504b96d76c Merge "Add bluetooth package to permission request intent" into oc-mr1-dev 2020-12-09 12:06:33 +00:00
Jakub Pawlowski
c721dc5bad Prevent overlay drawing on top of Bluetooth activity dialog am: b29c036522
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090436

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I956e8906633af45f12617dabbec4e060c14502f2
2020-12-09 11:32:56 +00:00
Jakub Pawlowski
b29c036522 Prevent overlay drawing on top of Bluetooth activity dialog
Bug: 168504491
Merged-In: I04ebe580db2b299af2bd5e44e0b0f20bd42f8535
Change-Id: I04ebe580db2b299af2bd5e44e0b0f20bd42f8535
2020-12-09 08:00:22 +00:00
TreeHugger Robot
f7f1781146 Merge "Prevent overlay drawing on top of Bluetooth activity dialog" into qt-dev am: 721f43dcdc am: 537c730ca2 am: 4c4f83eb21 am: db48b810b6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090438

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I42ad211ac7f3341c38d7b7f992b19e3ae52c9373
2020-12-09 00:32:11 +00:00
TreeHugger Robot
4c4f83eb21 Merge "Prevent overlay drawing on top of Bluetooth activity dialog" into qt-dev am: 721f43dcdc am: 537c730ca2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090438

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic39ad9f7212cdb757f79c61e23c84ac614e73fed
2020-12-08 23:58:02 +00:00
TreeHugger Robot
537c730ca2 Merge "Prevent overlay drawing on top of Bluetooth activity dialog" into qt-dev am: 721f43dcdc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090438

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9c3d91f901bc38554732ff2cc428232f117efea0
2020-12-08 23:27:51 +00:00
Jakub Pawlowski
4f7edf692f Prevent overlay drawing on top of Bluetooth activity dialog
Bug: 168504491
Change-Id: I04ebe580db2b299af2bd5e44e0b0f20bd42f8535
2020-11-19 13:47:53 +01:00
Chris Manton
1951d27669 Add bluetooth package to permission request intent
Limit the component that may resolve this intent to the
bluetooth package.

Bug: 158219161
Test: Security Fix
Tag: #security
Change-Id: If732f940a7aa256f5975349118e8eb6cf5584676
2020-11-19 10:20:24 +00:00
TreeHugger Robot
dacfb93762 Merge "Add permission to protect data when sending broadcast" into rvc-qpr-dev 2020-09-23 01:09:03 +00:00
Hugh Chen
ec597c220e Fix the device on "Media devices" not updated issue
- This CL uses new CachedBluetoothDevice callback instance
  in construct to avoid unregister wrong callback.
- This CL uses flag to make sure preference will register callback
  on onAttached() when preference remove callback on
  onPrepareForRemoval() or onDetached().
- Update test case

Bug: 168682778
Bug: 157653997
Test: make -j42 RunSettingsRoboTests
Change-Id: I7a0d9f5332153ee80634e191847b84cd7c380b7d
Merged-In: I7a0d9f5332153ee80634e191847b84cd7c380b7d
(cherry picked from commit cafeab2813)
2020-09-21 09:58:33 +00:00
TreeHugger Robot
19af143fe7 Merge "Fix settings crash" into rvc-qpr-dev 2020-09-16 03:09:38 +00:00
Hugh Chen
602e761ba0 Add permission to protect data when sending broadcast
This CL before, DevicePickerFragment didn't check the
whether 3rd-party app have Bluetooth permission before
sending broadcast. It's will cause the 3rd-party app can
get Bluetooth device information without request permission.

This CL will send broadcast with Bluetooth permission that
make sure the receiver who have Bluetooth permission can get
this Bluetooth device infomation.

Bug: 161716630
Test: verify on test apk to confirm that not showing mac address.
Change-Id: I6662dc38b3491e5ee467058dd74863ecac27cdd7
2020-09-11 07:23:06 +00:00
Hugh Chen
194dd88e7d Fix settings crash
- This CL before, "Previously connected device" didn't
  handle dock device. If user have disconnected dock
  device will cause Settings crash.

  This CL add condition to handle dock device to avoid crash.
- Update test case.

Bug: 157653997
Bug: 167054620
Test: make -j42 RunSettingsRoboTests
Change-Id: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
Merged-In: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
2020-09-07 02:59:15 +00:00
timhypeng
2f32da41ba Show all devices, including connected ones, into "Previously connected" page
-Add connected devices in "Previously connected" page
-Set active when clicking a connected device

Bug: 147150246
Test: make -j50 RunSettingsRoboTests
Change-Id: I4422cd63c360a4387cedc4f80f34474b42f82a1f
(cherry picked from commit 9743fed57d)
2020-09-01 07:52:16 +00:00
Chen Chen
1805f666e7 BluetoothPairingRequest: Add null check for action
Bug: 159728132
Test: Build

Change-Id: I24668e20accf96c7469c9e1ab589b1383ab59d18
2020-07-24 18:15:19 +00:00
Jakub Pawlowski
c49fcef907 Prevent overlay drawing on top of Bluetooth discovery request dialog am: ba7f6d7d45
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11986974

Change-Id: Ice5a98b7d2c10e9ee62ed20da7aa9213d18a4d8b
2020-06-26 20:06:25 +00:00
Jakub Pawlowski
ba7f6d7d45 Prevent overlay drawing on top of Bluetooth discovery request dialog
Bug: 155650356
Change-Id: I9cee6e5bb8cef77aa385d664fe0738db1496ef20
Merged-In: I9cee6e5bb8cef77aa385d664fe0738db1496ef20
(cherry picked from commit ac67100423)
2020-06-24 19:02:54 +00:00
Jakub Pawlowski
138dbb86cc Prevent overlay drawing on top of Bluetooth pairing dialog am: f3afef8419
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11953485

Change-Id: I41bd60685dc58028a328c041ca4532b42881cec7
2020-06-22 19:03:01 +00:00
Jakub Pawlowski
f3afef8419 Prevent overlay drawing on top of Bluetooth pairing dialog
Bug: 155648639
Change-Id: I99643ee9084f3a9bc1ad9a459ac27c587d832c91
Merged-In: I99643ee9084f3a9bc1ad9a459ac27c587d832c91
2020-06-22 17:35:40 +02:00
Jakub Pawlowski
a44860c880 Prevent overlay drawing on top of Bluetooth discovery request dialog am: c48d63752a am: e61467cd6c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484059

Change-Id: Ib9bde83d8d0d5a81dcde8d7d6723a51d55663610
2020-06-08 06:12:33 +00:00
Jakub Pawlowski
e61467cd6c Prevent overlay drawing on top of Bluetooth discovery request dialog am: c48d63752a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484059

Change-Id: I3572c16dd2b47189dc26ae4cd99f569d32b6ae2a
2020-06-08 05:55:40 +00:00
Jakub Pawlowski
c48d63752a Prevent overlay drawing on top of Bluetooth discovery request dialog
Bug: 155650356
Change-Id: I9cee6e5bb8cef77aa385d664fe0738db1496ef20
2020-06-04 06:45:16 +00:00
Jakub Pawlowski
3185f80f23 Prevent overlay drawing on top of Bluetooth pairing dialog am: 88815d1456 am: 103cc7cf29
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484060

Change-Id: Ifbdd0f3dabc0b487bfb5155f786cae6a9980557b
2020-06-03 10:18:46 +00:00
Jakub Pawlowski
103cc7cf29 Prevent overlay drawing on top of Bluetooth pairing dialog am: 88815d1456
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484060

Change-Id: Ib47c1804cbb29942c33152d72e1019c92f0d3856
2020-06-03 09:59:18 +00:00
hughchen
1df322225b Add bottom padding of profile group on Bluetooth detail page
- This CL add a bottom padding preference to make UI consistency.
- Update test case

Bug: 146522686
Test: make -j42 RunSettingsRoboTests
Change-Id: I525d8a3b71535972755de92924a3c04768f68e63
2020-05-18 13:17:15 +08:00
Jakub Pawlowski
88815d1456 Prevent overlay drawing on top of Bluetooth pairing dialog
Bug: 155648639
Change-Id: I99643ee9084f3a9bc1ad9a459ac27c587d832c91
2020-05-14 09:18:52 +00:00