Commit Graph

45766 Commits

Author SHA1 Message Date
Phil Weaver
fd0ca151a6 Back-port fixes for b/62196835
Bug: 62196835
Test: Created an accessibility service that displays a system
and a toast overlay, confirmed that it disappeared when we
reached the accessibility permission screen that uses this
flag.

Change-Id: Ic51ead670fc480e549512ba1d02f49d9c13bc3f0
2017-07-12 16:57:31 -07:00
Nick Kralevich
1cc9ec47c8 ZygoteInit: Remove CAP_SYS_RESOURCE
am: 4911af2b8c

Change-Id: I4aa46981edb8fd711e1aec8c889528e596e5c233
2017-05-22 22:05:18 +00:00
Nick Kralevich
b8d972e973 system_server: add CAP_SYS_PTRACE
am: 966619d0ab

Change-Id: Ie5f95f2c078cd0bec7a2b2321c3303301ec9ec74
2017-05-22 22:04:57 +00:00
Nick Kralevich
4911af2b8c ZygoteInit: Remove CAP_SYS_RESOURCE
Please see commit 3082eb7c72 for an
explanation of this change.

This capability is not used by system_server.

Bug: 34951864
Bug: 38496951
Test: code compiles, device boots, no selinux errors ever reported.
Change-Id: I4242b1abaa8679b9bfa0d31a1df565b46b7b3cc3
(cherry picked from commit 35775783fc)
2017-05-22 12:19:29 -07:00
Nick Kralevich
966619d0ab system_server: add CAP_SYS_PTRACE
Commit https://android.googlesource.com/kernel/common/+/f0ce0eee added
CAP_SYS_RESOURCE as a capability check which would allow access to
sensitive /proc/PID files. system_server uses this capability to collect
smaps from managed processes. Presumably this was done to avoid the
implications of granting CAP_SYS_PTRACE to system_server.

However, with SELinux enforcement, we can grant CAP_SYS_PTRACE but not
allow ptrace attach() to other processes. The net result of this is that
CAP_SYS_PTRACE and CAP_SYS_RESOURCE have identical security controls, as
long as system_server:process ptrace is never granted.

Add CAP_SYS_PTRACE to the set of capabilities granted to system_server.

Don't delete CAP_SYS_RESOURCE for now. SELinux has blocked the use of
CAP_SYS_RESOURCE, but we still want to generate audit logs if it's
triggered. CAP_SYS_RESOURCE can be deleted in a future commit.

Bug: 34951864
Bug: 38496951
Test: Device boots, functionality remains identical, no sys_resource
denials from system_server.
Change-Id: I2570266165396dba2b600eac7c42c94800d9c65b
(cherry picked from commit 3082eb7c72)
2017-05-22 11:28:48 -07:00
Phil Weaver
93c47c9d07 Make a11y node info parceling more robust
am: 1d8eb49073

Change-Id: I5280a23cbfff5abfcc83e9e6d9afb4f8960ece44
2017-04-07 23:09:28 +00:00
Phil Weaver
1d8eb49073 Make a11y node info parceling more robust
Fix a bug where a malformed Parceled representation
of an AccessibilityNodeInfo could be used to mess with
Bundles as they get reparceled.

Bug: 36491278
Test: Verified that POC no longer works, a11y cts still passes.

(Manual merge from commit 687bb44b43)

Change-Id: I7746c9175a2da28f75d4f4b169d7997abadf1852
2017-04-07 15:21:39 -07:00
Jeff Sharkey
6f754e48e9 DO NOT MERGE. Grant MMS Uri permissions as the calling UID.
A recent security fix prevents the system UID from handing out Uri
permission grants directly from itself.  Instead, services need to
issue grants as the original calling UID to ensure that the caller
actually has access to the Uris.

Test: builds, boots, send/recv MMS works in primary/secondary users
Bug: 33231106
Change-Id: Ia9fe19843b52977c8a94ee5349b907beda1882fc
(cherry picked from commit 7ff418d9a9)
2017-02-07 04:46:19 +00:00
Charles He
a9437bd1ca Prevent writing to FRP partition during factory reset.
Avoid potential race condition between FRP wipe and write operations
during factory reset by making the FRP partition unwritable after
wipe.

Bug: 30352311
Test: manual
Change-Id: If3f024a1611366c0677a996705724458094fcfad
(cherry picked from commit a629c772f4)
2016-12-14 12:08:30 +00:00
Jeff Sharkey
6b89229d14 Merge "DO NOT MERGE. Check provider access for content changes." into lmp-mr1-dev 2016-12-02 18:10:16 +00:00
Jeff Sharkey
ae7d4b1339 Merge "DO NOT MERGE. Check provider access for content changes." into lmp-dev 2016-12-02 18:10:15 +00:00
Jeff Sharkey
f279a5bc0d DO NOT MERGE. Retain DownloadManager Uri grants when clearing.
As part of fixing a recent security issue, DownloadManager now needs
to issue Uri permission grants for all downloads.  However, if an app
that requested a download is upgraded or otherwise force-stopped,
the required permission grants are removed.

We could tell DownloadManager about the app being stopped, but that
would be racy (due to background broadcast), and waking it up would
degrade system health.  Instead, as a special case we now only
consider clearing DownloadManager permission grants when app data
is being cleared.

Bug: 32172542, 30537115
Test: builds, boots, app upgrade doesn't clear grants
Change-Id: I7e3d4546fd12bfe5f81b9fb9857ece58d574a6b9
(cherry picked from commit 23ec811266)
2016-12-01 23:54:50 +00:00
Jeff Sharkey
1de465bec2 DO NOT MERGE. Retain DownloadManager Uri grants when clearing.
As part of fixing a recent security issue, DownloadManager now needs
to issue Uri permission grants for all downloads.  However, if an app
that requested a download is upgraded or otherwise force-stopped,
the required permission grants are removed.

We could tell DownloadManager about the app being stopped, but that
would be racy (due to background broadcast), and waking it up would
degrade system health.  Instead, as a special case we now only
consider clearing DownloadManager permission grants when app data
is being cleared.

Bug: 32172542, 30537115
Test: builds, boots, app upgrade doesn't clear grants
Change-Id: I7e3d4546fd12bfe5f81b9fb9857ece58d574a6b9
(cherry picked from commit 23ec811266)
2016-12-01 23:54:04 +00:00
Jeff Sharkey
91add43ae7 DO NOT MERGE. Check provider access for content changes.
For an app to either send or receive content change notifications,
require that they have some level of access to the underlying
provider.

Without these checks, a malicious app could sniff sensitive user data
from the notifications of otherwise private providers.

Test: builds, boots, PoC app now fails
Bug: 32555637
Change-Id: If2dcd45cb0a9f1fb3b93e39fc7b8ae9c34c2fdef
2016-11-18 15:37:57 -07:00
Jeff Sharkey
9b85862620 DO NOT MERGE. Check provider access for content changes.
For an app to either send or receive content change notifications,
require that they have some level of access to the underlying
provider.

Without these checks, a malicious app could sniff sensitive user data
from the notifications of otherwise private providers.

Test: builds, boots, PoC app now fails
Bug: 32555637
Change-Id: If2dcd45cb0a9f1fb3b93e39fc7b8ae9c34c2fdef
2016-11-18 15:37:08 -07:00
Xin Li
7e0483fcec Merge "Merge "DO NOT MERGE - Added Emergency affordance feature" into
lollipop-mr1-dev" into lmp-mr1-dev.

Change-Id: Ia47211f647d0d49b0adf3cb65eba4b9b686bcbff
2016-10-13 13:54:54 -07:00
Selim Cinek
5fbc86bfd6 DO NOT MERGE - Added Emergency affordance feature
Added a service that listens whether emergency affordances
are necessary.

If the they are needed, it adds an option to the
global actions dialog that directly launches the
emergency call and also adds a long-press listener
to the keyguard emergency button.

Test: adb shell settings put global force_emergency_affordance 1 && adb shell settings put global emergency_affordance_number 111112
Bug: 30404490
Change-Id: Ib96a15da2ef4b568a8d77140ebca6aa6f20f5ddb
2016-10-05 18:40:07 -07:00
Ajay Panicker
447ac4b31d Merge "[DO NOT MERGE] Prevent FDs from being leaked when accepted sockets are closed" into lmp-mr1-dev 2016-09-21 21:08:10 +00:00
Ajay Panicker
f78ff48d0d Merge "[DO NOT MERGE] Prevent FDs from being leaked when accepted sockets are closed" into lmp-dev 2016-09-21 21:08:07 +00:00
TreeHugger Robot
19b09dd0d3 Merge "[DO NOT MERGE] Fix setPairingConfirmation permissions issue (2/2)" into lmp-dev 2016-09-21 00:07:38 +00:00
Ajay Panicker
bb9b38b957 [DO NOT MERGE] Fix setPairingConfirmation permissions issue (2/2)
setPairingConfirmation was set to only require BLUETOOTH_ADMIN
permission which shouldn't be able to set the confirmation itself.

This is restricted to BLUETOOTH_PRIVILEGED permission.

Bug: 29043989
Change-Id: Iddc935f0b02f5ff56e930914b4b664377e786184
2016-09-20 23:47:09 +00:00
Jeff Sharkey
f6d7c1ed15 Use "all_downloads" instead of "my_downloads".
am: 1547194418

Change-Id: I6dabba1f82ef1989eb2a52c3c493127a174ff315
2016-09-16 21:48:24 +00:00
Jeff Sharkey
1547194418 Use "all_downloads" instead of "my_downloads".
We can no longer return the "my_downloads" paths: if those Uris were
shared beyond the app that requested the download, access would be
denied.  Instead, we need to switch to using "all_downloads" Uris so
that permission grants can be issued to third-party viewer apps.

Since an app requesting a download doesn't normally have permission
to "all_downloads" paths, DownloadProvider now issues narrow grants
toward the owner of each download, both at device boot and when new
downloads are started.

Bug: 30537115, 30945409
Change-Id: I533125b36444877f54373d88922f2acc777e250b
2016-09-16 12:04:05 -06:00
Ajay Panicker
85bc33a8f4 [DO NOT MERGE] Prevent FDs from being leaked when accepted sockets are closed
Bug: 28672558
Change-Id: I4bc14bd7f098e34012c2ae1eeba2d439145901f0
2016-09-14 19:17:49 +00:00
Ajay Panicker
27b3d578b9 [DO NOT MERGE] Prevent FDs from being leaked when accepted sockets are closed
Bug: 28672558
Change-Id: I4bc14bd7f098e34012c2ae1eeba2d439145901f0
2016-09-08 13:23:02 -07:00
Ajay Panicker
0ea21bc70e [DO NOT MERGE] Fix setPairingConfirmation permissions issue (2/2)
setPairingConfirmation was set to only require BLUETOOTH_ADMIN
permission which shouldn't be able to set the confirmation itself.

This is restricted to BLUETOOTH_PRIVILEGED permission.

Bug: 29043989
Change-Id: Iddc935f0b02f5ff56e930914b4b664377e786184
2016-09-08 18:03:58 +00:00
Narayan Kamath
1bd43c162f Process: Fix communication with zygote.
am: e29c6493c0

Change-Id: I86b073f7f69943911aa0bea782e29ae6d86609a2
2016-08-18 09:53:12 +00:00
Narayan Kamath
e29c6493c0 Process: Fix communication with zygote.
Don't write partial requests, and don't return (or throw) early after
partially reading a response.

bug: 30143607

(cherry-picked from commit 448be0a622)

Change-Id: I5881fdd5e81023cd21fb4d23a471a5031987a1f1
2016-08-16 16:17:29 +00:00
fionaxu
863ac471cf DO NOT MERGE revert system api loadSafeLabel
Bug: 28557603
Change-Id: Ib2dd0fc19217655a4d6b49cdf49ce36dfd6577d5
2016-07-06 17:05:32 -07:00
fionaxu
0fffbcb158 DO NOT MERGE revert public api loadSafeLabel
Bug: 28557603
Change-Id: I61f4939864228fb50112502044da599b9cec2430
2016-06-28 00:43:35 -07:00
Christopher Tate
cd777e95a7 Don\'t trust callers to supply app info to bindBackupAgent()
am: c58054f25f

Change-Id: I3b0bd91c38b5f13770f09f39c2eea78b63c29d7c
2016-06-16 22:21:37 +00:00
Christopher Tate
c58054f25f Don't trust callers to supply app info to bindBackupAgent()
Get the canonical identity and metadata about the package from the
Package Manager at time of usage rather than rely on the caller to
have gotten things right, even when the caller has the system uid.

Bug 28795098

Change-Id: I215786bc894dedf7ca28e9c80cefabd0e40ca877
2016-06-14 13:28:43 -07:00
fionaxu
c196526f8e resolve merge conflicts of 2c53526 to lmp-mr1-dev
Change-Id: I4fe45fae0a98934ac9b0f6f48c8cab8546392641
2016-06-07 22:01:19 -07:00
fionaxu
2c53526b4b Backport loadSafeLabel changes am: be2865a60a am: 4c50846519
am: 9a825b0fd5

Change-Id: Ie3042058420fbd3018ae238dab4129de58ec69c8
2016-06-07 23:23:10 +00:00
fionaxu
9a825b0fd5 Backport loadSafeLabel changes am: be2865a60a
am: 4c50846519

Change-Id: Ia31592def4d88a3a9e92a7e0c9126691c64a5fc4
2016-06-07 23:20:04 +00:00
fionaxu
4c50846519 Backport loadSafeLabel changes
am: be2865a60a

Change-Id: Ifabe996449c534c5085245c4f07e2d865a23e126
2016-06-07 23:13:08 +00:00
fionaxu
be2865a60a Backport loadSafeLabel changes
Bug:23531798
Bug:28557603
Change-Id: Iee49f7c37d6a42fe74077bb15ed47919d351d172
2016-06-07 22:51:28 +00:00
Paul Jensen
42a5983364 Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev am: af0b4466ff am: 8940d2b0ff am: bb27626141
am: 6c35cf2434

* commit '6c35cf2434ca373196b16620455f8f234b63d594':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I9bbca312129011822fc5ea95682bac5ca4258ced
2016-05-26 14:01:19 +00:00
Paul Jensen
6c35cf2434 Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev am: af0b4466ff am: 8940d2b0ff
am: bb27626141

* commit 'bb2762614181a0ee03554a96c070ea1006d7263c':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I9e4d3282765dec1554955b9f72484e9d7e2d6594
2016-05-26 13:44:37 +00:00
Paul Jensen
bb27626141 Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev am: af0b4466ff
am: 8940d2b0ff

* commit '8940d2b0ff2fb5a9cc9e12be8a7959670e4390ac':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I03d6273d7ddaecac071ab3d1207d3d684e80159e
2016-05-26 13:37:24 +00:00
Paul Jensen
8940d2b0ff Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev
am: af0b4466ff

* commit 'af0b4466ffe2ed09b288014d1d3a9ed308fe3c76':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I8a49a29ed1999ab811d3306dc46769d83c05244e
2016-05-26 13:30:59 +00:00
Paul Jensen
08ec0e53b8 Don't pass URL path and username/password to PAC scripts
The URL path could contain credentials that apps don't want exposed
to a potentially malicious PAC script.

Bug: 27593919
Change-Id: I4bb0362fc91f70ad47c4c7453d77d6f9a1e8eeed
2016-04-29 10:57:13 +00:00
Todd Kennedy
ca133845ef DO NOT MERGE Fix intent filter priorities am: 60351d3
am: 3dfc6d9

* commit '3dfc6d986f6142b1e0020c9970f626c7c435711e':
  DO NOT MERGE Fix intent filter priorities

Change-Id: Id396cca79db8f830a513746f387fb866c773c778
2016-04-11 22:06:38 +00:00
Todd Kennedy
3dfc6d986f DO NOT MERGE Fix intent filter priorities
am: 60351d3

* commit '60351d3be29977dfe0b422de797a0429edf500b7':
  DO NOT MERGE Fix intent filter priorities

Change-Id: Ieca2ee83f22e5d4083f895f52d42a2f697920be7
2016-04-11 22:00:27 +00:00
Todd Kennedy
60351d3be2 DO NOT MERGE Fix intent filter priorities
Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
   defined on the system image.

NOTE: I had to bring in pieces of ag/526831 so intent filters could
be collected and matched

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
2016-04-07 16:40:18 -07:00
Todd Kennedy
d6174e7402 DO NOT MERGE Fix intent filter priorities
Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
   defined on the system image.

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
2016-04-05 10:20:41 -07:00
Matthew Williams
5fc753acaf DO NOT MERGE Redact Account info from getCurrentSyncs am: a5cafd2a93
am: 06ef7dfdf0

* commit '06ef7dfdf0a3efb44326228c55309ec6df134376':
  DO NOT MERGE Redact Account info from getCurrentSyncs
2016-01-21 18:14:32 +00:00
Matthew Williams
06ef7dfdf0 DO NOT MERGE Redact Account info from getCurrentSyncs
am: a5cafd2a93

* commit 'a5cafd2a93ce1c481328e2ce25c3bf2a19b81601':
  DO NOT MERGE Redact Account info from getCurrentSyncs
2016-01-21 18:07:55 +00:00
Matthew Williams
a5cafd2a93 DO NOT MERGE Redact Account info from getCurrentSyncs
BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
(cherry picked from commit b63057e698)
2016-01-21 14:15:11 +00:00
Matthew Williams
0e7cd0a9fb Redact Account info from getCurrentSyncs am: f39549e389
am: 1a0aed3257

* commit '1a0aed3257ad1b8216930928090885cf4210bd87':
  Redact Account info from getCurrentSyncs
2016-01-20 11:37:17 +00:00