Commit Graph

44229 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
0fffbcb158 DO NOT MERGE revert public api loadSafeLabel
Bug: 28557603
Change-Id: I61f4939864228fb50112502044da599b9cec2430
2016-06-28 00:43:35 -07: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
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
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
f39549e389 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-20 00:02:58 +00:00
Shreyas Basarge
cc7c1d3812 Sync extras bundle comparison can throw NPE am: 2f137b7705
am: 294611faa8

* commit '294611faa8bd1bdbf75adc3cee835b69d348df86':
  Sync extras bundle comparison can throw NPE
2015-11-13 01:50:02 +00:00
Shreyas Basarge
294611faa8 Sync extras bundle comparison can throw NPE
am: 2f137b7705

* commit '2f137b7705875ee026319abb8e512d918c118222':
  Sync extras bundle comparison can throw NPE
2015-11-13 01:41:59 +00:00
Shreyas Basarge
2f137b7705 Sync extras bundle comparison can throw NPE
Bug: 23591205
Change-Id: I960dfcc1584c0a17685790d5d722eaf11b930e25
2015-11-12 15:32:44 +00:00
Matthew Williams
c0f39c1ece Sync extras bundle comparison can throw NPE
BUG: 23591205
Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c
(cherry picked from commit 9ad2c84033)
2015-11-11 14:34:04 +00:00
Paul Jensen
ece4ac2105 Merge "Don't mark NetworkRequests restricted when they don't have restricted caps" into lmp-dev 2015-09-23 10:59:31 +00:00
Paul Jensen
a9e9834314 Merge "Fix NOT_RESTRICTED network capability and enforce it." into lmp-dev 2015-09-23 10:58:57 +00:00
Zach Jang
fe4cbf2b1b am cff4e09e: am bdf7f358: DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
* commit 'cff4e09e26e3b976aa0273df78e89f592fc6d287':
  DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
2015-09-17 20:24:00 +00:00
Zach Jang
cff4e09e26 am bdf7f358: DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
* commit 'bdf7f3583c637f370e97e74526df14b9c70e6493':
  DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
2015-09-17 20:09:55 +00:00
Zach Jang
1cf21e443a DO NOT MERGE - Backport of ag/748165 to klp-dev
Security patch level in Settings

b/23946860

Change-Id: I610d4dedf18fe1825d7df5febf29e6f0c006490d
2015-09-17 01:20:27 +00:00
Zach Jang
bdf7f3583c DO NOT MERGE - Backport of ag/748165 to klp-dev
Security patch level in Settings

b/23946860

Change-Id: I610d4dedf18fe1825d7df5febf29e6f0c006490d
2015-09-17 01:17:58 +00:00
Paul Jensen
2b6af396ad Don't mark NetworkRequests restricted when they don't have restricted caps
Requests without NET_CAPABILITIES_INTERNET and just the default network
capabilities should not be marked restricted.  Without this fix apps
can hit permissions exceptions if they inadvertently make requests
without NET_CAPABILITIES_INTERNET.

Bug:23164917
Change-Id: I4c7136821315bcb05dfc42ffbc505a5d4f6109e6
(cherry picked from commit aae613d961)
2015-08-28 12:50:09 -04:00
Paul Jensen
a12044215b Fix NOT_RESTRICTED network capability and enforce it.
With this change:
1. NOT_RESTRICTED should be removed from NetworkRequests that bring up
   special restricted carrier networks (e.g. IMS, FOTA).
2. NetworkRequests without NOT_RESTRICTED require CONNECTIVITY_INTERNAL
   permission to register
3. Binding sockets to networks without NOT_RESTRICTED requires
   CONNECTIVITY_INTERNAL permission

Bug:21637535
Change-Id: I5991d39facaa6b690e969fe15dcbeec52e918321
(cherry picked from commit 487ffe7d3d)
2015-08-28 12:48:11 -04:00
Svetoslav
bf0652eeea DO NOT MERGE Don't take flags when creating app widget config activity.
bug:19618745

Change-Id: Ib0e421454d343e6db55d5538f1d55ac22a3dd722
2015-06-01 12:55:38 -07:00
Craig Mautner
8fa394fa8c Merge "Do not make ActivityContainer available to apps. DO NOT MERGE" into lmp-dev 2015-03-04 16:09:29 +00:00
Joe Fernandez
c4418980a0 am a31378dc: Merge "Minor typo fixes in managed profile Javadoc reference pages." into lmp-docs
* commit 'a31378dc49868412a2e632bcc46a44877a9b397f':
  Minor typo fixes in managed profile Javadoc reference pages.
2015-03-03 06:15:29 +00:00
Andrew Solovay
27f5337841 Minor typo fixes in managed profile Javadoc reference pages.
See first comment for stage location.

bug: 19389235
Change-Id: I2e1d5169a77e3f4000e73f08d493953ce4eee78c
2015-03-02 17:22:18 -08:00
Craig Mautner
40f616b1f6 Do not make ActivityContainer available to apps. DO NOT MERGE
A security leak was discovered whereby a malicious app could get the
IActivityContainer object from one app and use it to inject events
into another app. This fix removes the availability of the
IActivityContainer and replaces its one use with a method for
returning the information the IActivityContainer was used for.

Fixes bug 19394591.

Change-Id: Ib3cec25b25130cd8e098892c057742cfd575cfdd
2015-02-19 09:44:53 -08:00
John Spurlock
42d3b66f48 am e0852368: Fix a few typos in Parcel.java.
* commit 'e08523684d5414117f81debd4eb14bc8eb494c29':
  Fix a few typos in Parcel.java.
2015-02-05 20:18:03 +00:00
John Spurlock
e08523684d Fix a few typos in Parcel.java.
Change-Id: Ic1674fc72f08a0f3536b4870a5ce7d14ee6fcc16
2015-02-04 23:18:09 +00:00
Jon Larimer
9570e144fe am ea63fd7f: am 88add689: am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev
* commit 'ea63fd7f9b4bb2701c9d12ab8775867dbdeefcf1':
  Fix ParceledListSlice to enforce the same concrete types among its elements.
2015-01-29 18:43:47 +00:00