Commit Graph

31436 Commits

Author SHA1 Message Date
TreeHugger Robot
ed29b05dcd [conflict] Merge "Prevent exfiltration of system files via user image settings." into qt-dev am: 74ff164972 am: e6e739d8b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17003629

Change-Id: I8bba0ed0611a7cef34b210e7e7553de70dbf9aa3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Merged-In: I15e15ad88b768a5b679de32c5429d921d850a3cb
2022-04-01 16:13:50 +00:00
TreeHugger Robot
e6e739d8b0 Merge "Prevent exfiltration of system files via user image settings." into qt-dev am: 74ff164972
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17003629

Change-Id: I5ebae8947d883130b93c9a82d087656dab41498a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 12:58:31 +00:00
TreeHugger Robot
74ff164972 Merge "Prevent exfiltration of system files via user image settings." into qt-dev 2022-04-01 12:42:31 +00:00
lucaslin
14e88ca2f9 Hide private DNS settings UI in Guest mode am: 52e863b5a2 am: 2c1c76cd35
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063

Change-Id: I417c9687ae22749f428a902a01612c50cbf0e52c
2022-03-09 06:32:20 +00:00
lucaslin
2c1c76cd35 Hide private DNS settings UI in Guest mode am: 52e863b5a2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17129063

Change-Id: I5fc7b5001299b8831a1dd9440b6e25dfaf6d8a98
2022-03-09 06:08:16 +00:00
lucaslin
52e863b5a2 Hide private DNS settings UI in Guest mode
Hide private DNS settings UI in Guest mode to prevent guest
users modifying global private DNS settings.

Bug: 206987762
Test: 1. make RunSettingsRoboTests \
         ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest
      2. Switch to Guest user and check if the private DNS UI is
         hidden or not.
Change-Id: Iebfb8684da3be32110decd9e8447dd07b1c40387
2022-03-09 02:54:12 +00:00
Oli Lan
8950a90024 Prevent exfiltration of system files via user image settings.
This is a backport of ag/17005706.

This adds mitigations to prevent system files being exfiltrated
via the settings content provider when a content URI is provided
as a chosen user image.

The mitigations are:

1) Copy the image to a new URI rather than the existing takePictureUri
prior to cropping.

2) Only allow a system handler to respond to the CROP intent.

Bug: 187702830
Test: build and check functionality
Change-Id: Ia6314b6810afb5efa0329f3eeaee9ccfff791966
Merged-In: I15e15ad88b768a5b679de32c5429d921d850a3cb
2022-03-03 13:18:16 +00:00
Jack Yu
46bd9ba5a5 Do not let guest user disable secure nfc am: 4e543a38f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16691813

Change-Id: Iffe578c58bf2dcebda45b0b71dd901bd3e08be41
2022-02-08 02:15:55 +00:00
Jack Yu
4e543a38f6 Do not let guest user disable secure nfc
Bug: 209446496
Test: manual
Merged-In: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
Change-Id: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
(cherry picked from commit d9e3e6e4b1)
2022-02-02 17:44:55 +00:00
Jack Yu
a579ca7554 Do not let guest user disable secure nfc
Bug: 209446496
Test: manual
Merged-In: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
Change-Id: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
(cherry picked from commit d9e3e6e4b1)
2022-01-22 07:56:25 +00:00
TreeHugger Robot
f43f129dc0 Merge "Add caller check to com.android.credentials.RESET" into qt-dev am: 50b65a168a am: 1ef5f42b54
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16577205

Change-Id: Ibc94e102fc69e4e2052526e1ee000684c5d7724f
2022-01-13 19:18:08 +00:00
TreeHugger Robot
1ef5f42b54 Merge "Add caller check to com.android.credentials.RESET" into qt-dev am: 50b65a168a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16577205

Change-Id: I8dae6a8a3fd0ed7cde335ead1e4b760bb5a8d195
2022-01-13 19:04:05 +00:00
TreeHugger Robot
50b65a168a Merge "Add caller check to com.android.credentials.RESET" into qt-dev 2022-01-13 18:50:36 +00:00
Edgar Wang
c0d6987e06 Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment am: f57d75f127
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16579585

Change-Id: Icd26ee5a31e0cc7e11edaf6c542b045ab3a7ff01
2022-01-13 06:50:30 +00:00
Edgar Wang
dc44d01a16 Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment
In onReceive of AppRestrictionsFragment.java, there is a possible way to
start a phone call without permissions due to a confused deputy.
This could lead to local escalation of privilege with no additional
execution privileges needed.

We should not allow the restrictionsIntent to startActivity simply
because it resolves to multiple activities.
Instead, we should call resolveActivity and check the result's package
name is same as current package name, then it is safe to startActivity.

Bug: 200688991
Test: manual verify
Change-Id: Iaa2d3a9497c3266babe0789961befc9776a4db7a
Merged-In: Iaa2d3a9497c3266babe0789961befc9776a4db7a
(cherry picked from commit 359512cd95)
2022-01-07 04:24:11 +00:00
Edgar Wang
f57d75f127 Fix bypass CALL_PRIVILEGED permission in AppRestrictionsFragment
In onReceive of AppRestrictionsFragment.java, there is a possible way to
start a phone call without permissions due to a confused deputy.
This could lead to local escalation of privilege with no additional
execution privileges needed.

We should not allow the restrictionsIntent to startActivity simply
because it resolves to multiple activities.
Instead, we should call resolveActivity and check the result's package
name is same as current package name, then it is safe to startActivity.

Bug: 200688991
Test: manual verify
Change-Id: Iaa2d3a9497c3266babe0789961befc9776a4db7a
Merged-In: Iaa2d3a9497c3266babe0789961befc9776a4db7a
(cherry picked from commit 359512cd95)
2022-01-07 04:23:50 +00:00
Alex Johnston
35e3d0c1b0 Add caller check to com.android.credentials.RESET
* Only the Settings app can reset credentials
  via com.android.credentials.RESET.
* com.android.credentials.INSTALL should still be
  callable by CertInstaller.

Manual testing steps:
* Install certificate via Settings
* Verify unable to reset certificates via test app
  provided in the bug (app-debug.apk)
* Verify able to reset certificates via Settings
* Verify com.android.credentials.INSTALL isn't changed

Bug: 200164168
Test: manual
Change-Id: I9dfde586616d004befbee529f2ae842d22795065
(cherry picked from commit 4c1272a921)
Merged-In: I9dfde586616d004befbee529f2ae842d22795065
2022-01-06 22:17:17 +00:00
Alex Johnston
fca5cb3748 Add non system overlay flag to InstallCaCertificateWarning
Bug: 196969991
Test: Manual testing with Settings
Change-Id: Ia9dc251c853526b2ce66c9f8ff595d496b7f1bc4
Merged-In: Ia9dc251c853526b2ce66c9f8ff595d496b7f1bc4
(cherry picked from commit 2f193c8157)
2021-12-08 21:18:30 +00:00
Hugh Chen
d1ee2f41e8 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission am: d4e0ed2284
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16145003

Change-Id: If228864e833e512870a9d60ef457e4aa2c7820a9
2021-11-09 07:24:45 +00:00
Hugh Chen
d4e0ed2284 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission
- Only enable device can be discoverable when the user launch
  "Connected Devices settings" through settings and systemui

Bug: 194695497
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: Ia04ab759b737acf30b782f5c5831dd59f25fb257
(cherry picked from commit d3abbb9821)
2021-11-01 07:37:33 +00:00
Hugh Chen
528d40e4d1 RESTRICT AUTOMERGE Fix make Bluetooth discoverable without additional permission
- Only enable device can be discoverable when the user launch
  "Connected Devices settings" through settings and systemui

Bug: 194695497
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify the device is not discoversable when open "Connected settings"
through test apk.

Change-Id: Ia04ab759b737acf30b782f5c5831dd59f25fb257
(cherry picked from commit d3abbb9821)
2021-11-01 07:01:34 +00:00
Weng Su
cbd0883356 [RESTRICT AUTOMERGE] Revert "Add permission checking to WifiDialogActivity" am: 6a2624e500
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15958163

Change-Id: I74316633648d6a5002433440358b9a0a443b3cf8
2021-10-06 19:04:58 +00:00
Weng Su
457a63ce84 [RESTRICT AUTOMERGE] Revert "Add SafetyNet logging" am: d05686b431
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15958162

Change-Id: I90af118b9033a7ee53b35aa2b435d2ba95281181
2021-10-06 19:04:56 +00:00
Weng Su
18043562c1 [RESTRICT AUTOMERGE] Revert "[DO NOT MERGE] Add permission checking to WifiDialogActivity"
Revert submission 15207347-add_permission_wifidialog

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
If7ca069c8:[DO NOT MERGE] Add permission checking to WifiDial...
I1535f6f2d:[DO NOT MERGE] Add SafetyNet logging

Bug: 185126813
Change-Id: Ifc3b53dc91fc8d5aa31c1a10d4eb033bbe54c47d
2021-10-05 06:47:46 +00:00
Weng Su
6a2624e500 [RESTRICT AUTOMERGE] Revert "Add permission checking to WifiDialogActivity"
Revert submission 15220072-add_permission_wifidialog-qt-dev

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
I1535f6f2d:Add SafetyNet logging
If7ca069c8:Add permission checking to WifiDialogActivity

Bug: 185126813
Change-Id: I3f75adf5bf0eea037dc0c5dfbeeb22b35b2856b6
2021-10-05 03:37:51 +00:00
Weng Su
12dcd5034a [RESTRICT AUTOMERGE] Revert "[DO NOT MERGE] Add SafetyNet logging"
Revert submission 15207347-add_permission_wifidialog

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
If7ca069c8:[DO NOT MERGE] Add permission checking to WifiDial...
I1535f6f2d:[DO NOT MERGE] Add SafetyNet logging

Bug: 185126813
Change-Id: I41721dbb34612144d00dba7885944d834bf93c7d
2021-10-05 03:24:34 +00:00
Weng Su
d05686b431 [RESTRICT AUTOMERGE] Revert "Add SafetyNet logging"
Revert submission 15220072-add_permission_wifidialog-qt-dev

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
I1535f6f2d:Add SafetyNet logging
If7ca069c8:Add permission checking to WifiDialogActivity

Bug: 185126813
Change-Id: I42b77ac420d9438c741b28ce33bcadf1c74b19eb
2021-10-05 03:23:45 +00:00
Weng Su
b9b493d39d [DO NOT MERGE] Add SafetyNet logging
- Add SafetyNet log if the calling package is no the permission for
result

Test: checked eventlog in the bugreport
Bug: 185126813

Merged-In: I1535f6f2ded2445702df0d723518b773cd094164
Change-Id: I1535f6f2ded2445702df0d723518b773cd094164
(cherry picked from commit 199528d460)
2021-08-09 12:28:31 +00:00
Weng Su
f973f2ac69 [DO NOT MERGE] Add permission checking to WifiDialogActivity
- Use getCallingPackage() to get calling package.

- Check if the calling package has ACCESS_COARSE_LOCATION or
ACCESS_COARSE_LOCATION permission.

- Only set result data to permission granted callers

Bug: 185126813
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDialogActivityTest

Merged-In: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
Change-Id: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
(cherry picked from commit 71e728e934)
2021-08-08 13:21:52 +00:00
Weng Su
8df9b236f8 Add SafetyNet logging am: 62041d683b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15220072

Change-Id: I5a821a0c9bd39e0267635ebfb7ce4a2234f14696
2021-08-07 15:02:15 +00:00
Weng Su
fa62e69c1d Add permission checking to WifiDialogActivity am: 8800cdf527
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15212404

Change-Id: Iaa937ab9fe9b071fa27dd9306e9f28ddbd8a00b0
2021-08-07 15:02:13 +00:00
Weng Su
62041d683b Add SafetyNet logging
- Add SafetyNet log if the calling package is no the permission for
result

Test: checked eventlog in the bugreport
Bug: 185126813

Merged-In: I1535f6f2ded2445702df0d723518b773cd094164
Change-Id: I1535f6f2ded2445702df0d723518b773cd094164
(cherry picked from commit 199528d460)
2021-07-07 08:22:17 +00:00
Weng Su
8800cdf527 Add permission checking to WifiDialogActivity
- Use getCallingPackage() to get calling package.

- Check if the calling package has ACCESS_COARSE_LOCATION or
ACCESS_COARSE_LOCATION permission.

- Only set result data to permission granted callers

Bug: 185126813
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDialogActivityTest

Merged-In: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
Change-Id: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
(cherry picked from commit 71e728e934)
2021-07-07 08:06:29 +00:00
Hugh Chen
d351303e36 RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message am: fa504b8e01
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15021917

Change-Id: I311472b1f9d27cc4a7da875150741f0eb51e573f
2021-06-28 06:06:01 +00:00
Hugh Chen
3f493a3078 RESTRICT AUTOMERGE Update string am: 7ce80425ee
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15016137

Change-Id: I9c8fabb01ea2cf69b2714523b361f50a5a597561
2021-06-28 06:05:58 +00:00
Hugh Chen
fa504b8e01 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:34:32 +00:00
Hugh Chen
7ce80425ee 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:34:00 +00:00
Hugh Chen
a5046f219a 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:16:31 +00:00
Hugh Chen
9356205dfc 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 02:46:16 +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
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
TreeHugger Robot
f45fa1bf85 Merge changes Ia51528f2,Id27a7809 into rvc-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-11 06:03:28 +00:00
TreeHugger Robot
4074cd5e48 Merge changes Ia51528f2,Id27a7809 into qt-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-11 06:03:19 +00:00
Jakub Pawlowski
68f799a4c6 Prevent drawing on top of DevicePickerActivity
Bug: 182584940
Change-Id: I8b27b397bce1708a42b96b1b647c64e23142c468
2021-05-10 19:50:49 +02:00
Weng Su
632eb0d54a [DO NOT MERGE] Modify Wi-Fi details settings to restricted style am: 1f24c6a968
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14352149

Change-Id: I45816ca240725b57db5a68ac1b960dab5b8f1b0b
2021-05-05 23:59:31 +00: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
Weng Su
1f24c6a968 [DO NOT MERGE] Modify Wi-Fi details settings to restricted style
- Show restricted text in guest mode

- Screenshot:
  https://screenshot.googleplex.com/6nYcmazMM46TxaB

Bug: 177573895
Test: manual test
make RunSettingsRoboTests \
       ROBOTEST_FILTER=WifiNetworkDetailsFragmentTest

Change-Id: I5f857b2079e0f550e4be601d27dd54dac56b2f57
Merged-In: I5f857b2079e0f550e4be601d27dd54dac56b2f57
2021-04-29 14:38:27 +00:00