Commit Graph

54003 Commits

Author SHA1 Message Date
akirilov
de71ee469a RESTRICT AUTOMERGE: Prevent reporting fake package name - framework (backport to mnc-dev)
Test: added AccessibilityEndToEndTest#testPackageNameCannotBeFaked
      cts-tradefed run cts --package android.accessibilityservice
      cts-tradefed run cts --package android.accessibility

BUG:69981755

Change-Id: Id9990ccf1e88cea441f9b8927e849e67a059cfe4
2018-04-09 21:00:05 +00:00
Marco Nelissen
b514ce9b38 DO NOT MERGE Rework thumbnail cleanup
Bug: 63766886
Test: ran CTS tests
Change-Id: I1f92bb014e275eafe3f42aef1f8c817f187c6608
Merged-In: I1f92bb014e275eafe3f42aef1f8c817f187c6608
2018-03-15 19:58:42 +00:00
Alan Viverette
f3c2e0b3ab DO NOT MERGE Fix build with SDK 24-like implementation of constructor
Bug: 71992105
Test: manual
Change-Id: I106760ada9c85adde29fd143e5dfcd924fd95f54
2018-03-14 11:22:10 -04:00
Alan Viverette
38e9a0a934 Merge "Update internal ViewPager's SavedState to match Support Library version" into mnc-dev 2018-03-09 18:43:02 +00:00
Eugene Susla
5a28e533fe [DO NOT MERGE] Copy PermissionChecker from support lib and use in RcognitionService
Fixes: 73511076, 73311729
Test: presubmit
Change-Id: Ie98f67ffee4744050ac85d8b229370a16a76a194
(cherry picked from commit 726b51a26e)
2018-03-09 00:35:39 +00:00
Alan Viverette
187964aca1 Update internal ViewPager's SavedState to match Support Library version
Merged-In: Ic4569b21d8a26a62bba91742b442f0c3ea8bcc9e
Change-Id: I17d085be9ce1a139e75264f1e715df7f565cd41b
Fixes: 71992105
Test: manual
2018-02-16 14:45:05 -05:00
Siyamed Sinir
eaa093272e Merge "DO NOT MERGE Fix mTrustManager NPE" into mnc-dev 2018-02-15 00:14:36 +00:00
Rubin Xu
54813e9888 Fix VerifyCredentialResponse parcelling code
There was an asymmetry between parcelling and unparcelling of
VerifyCredentialResponse that could lead to type confusion if
packed with other objects in a Parcel.

Test: none
Bug: 71714464
Change-Id: Icff68879e249422ccca49f2bb7db85c35b4cb353
2018-02-07 08:17:06 +00:00
Android Build Merger (Role)
97668ae137 [automerger] Adjust URI host parsing to stop on \ character. am: fa3afbd0e7
Change-Id: I20336a5786e753e6941b9a784068480475415110
2018-01-31 11:19:56 +00:00
Adam Vartanian
fa3afbd0e7 Adjust URI host parsing to stop on \ character.
The WHATWG URL parsing algorithm [1] used by browsers says that for
"special" URL schemes (which is basically all commonly-used
hierarchical schemes, including http, https, ftp, and file), the host
portion ends if a \ character is seen, whereas this class previously
continued to consider characters part of the hostname.  This meant
that a malicious URL could be seen as having a "safe" host when viewed
by an app but navigate to a different host when passed to a browser.

[1] https://url.spec.whatwg.org/#host-state

Bug: 71360761
Test: vogar frameworks/base/core/tests/coretests/src/android/net/UriTest.java (on NYC branch)
Test: cts -m CtsNetTestCases (on NYC branch)
Change-Id: Id53f7054d1be8d59bbcc7e219159e59a2425106e
2018-01-31 11:14:45 +00:00
Siyamed Sinir
a381c4ced3 DO NOT MERGE Fix mTrustManager NPE
When isDeviceLocked function is called in KeyguardManager, mTrustManager
can be null. To prevent NPE during this call, moved the mTrustManager
access to a synchronized getter.

Test: run cts -c android.print.cts.PageRangeAdjustmentTest -m testWantedPagesAlreadyWrittenForPreview
Test: run cts -c android.accessibilityservice.cts.AccessibilityEndToEndTest -m testTypeViewTextChangedAccessibilityEvent
Test: run cts -c com.android.cts.appsecurity.DocumentsTest -m testCreateExisting
Test: run cts -c com.android.cts.devicepolicy.ManagedProfileTest -m testCrossProfileCopyPaste
Test: run cts -c android.text.method.cts.PasswordTransformationMethodTest

Bug: 69471788
Change-Id: I4b4a0bb3b127424fecdad85ba559ce861af165e4
2017-12-22 21:09:39 +00:00
Adam Vartanian
4158c9fbf3 Adjust Uri host parsing to use last instead of first @. am: cd6228dd37
am: 6a9c7c4814

Change-Id: I80bedf58833511d336839df9f17daf65cfebfacf
2017-11-07 20:51:02 +00:00
Adam Vartanian
6a9c7c4814 Adjust Uri host parsing to use last instead of first @.
am: cd6228dd37

Change-Id: I5db66a5a2073acaffe0560999c914a78df362c51
2017-11-07 20:41:28 +00:00
Adam Vartanian
cd6228dd37 Adjust Uri host parsing to use last instead of first @.
Malformed authority segments can currently cause the parser to produce
a hostname that doesn't match the hostname produced by the WHATWG URL
parsing algorithm* used by browsers, which means that a URL could be seen
as having a "safe" host when checked by an Android app but actually visit
a different host when passed to a browser.  The WHATWG URL parsing
algorithm always produces a hostname based on the last @ in the authority
segment, so we do the same.

* https://url.spec.whatwg.org/#authority-state resets the "buffer", which
  is being used to build up the host name, each time an @ is found, so it
  has the effect of using the content between the final @ and the end
  of the authority section as the hostname.

Bug: 68341964
Test: vogar android.net.UriTest (on NYC branch)
Test: cts -m CtsNetTestCases (on NYC branch)
Change-Id: Idca79f35a886de042c94d6ab66787c2e98ac8376
2017-11-07 15:51:53 +00:00
TreeHugger Robot
039b357a46 Merge "Fix security hole in GateKeeperResponse." into mnc-dev 2017-08-15 19:30:53 +00:00
Phil Weaver
d4a5fd1ce3 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-17 16:36:34 -07:00
Charles He
e74cae8f7c Fix security hole in GateKeeperResponse.
GateKeeperResponse has inconsistent writeToParcel() and
createFromParcel() methods, making it possible for a malicious app to
create a Bundle that changes contents after reserialization. Such
Bundles can be used to execute Intents with system privileges.

This CL changes writeToParcel() to make serialization and
deserialization consistent, thus fixing the issue.

Bug: 62998805
Test: use the debug app (see bug)
Change-Id: Ie1c64172c454c3a4b7a0919eb3454f0e38efcd09
2017-07-14 14:36:11 +00:00
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
Phil Weaver
24fdc53cfe DO NOT MERGE 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 23:25:00 +00:00
Nick Kralevich
47beaa8fab ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8
am: 8965cd6a39

Change-Id: If549cda5fd1a640fee746311745b9b08ebf63b91
2017-05-22 22:46:18 +00:00
Nick Kralevich
f5bd84b82d system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973
am: c46889e2d2

Change-Id: I840740012d9ba0c434f7de0fd9ca83a44926d018
2017-05-22 22:45:44 +00:00
Nick Kralevich
8965cd6a39 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c
am: 1cc9ec47c8

Change-Id: Ic81685686dabbc1f0004a30785a021bf89420846
2017-05-22 22:24:39 +00:00
Nick Kralevich
c46889e2d2 system_server: add CAP_SYS_PTRACE am: 966619d0ab
am: b8d972e973

Change-Id: I4d9e2d9b53523b9182a9f9272d06a93a87b0c61b
2017-05-22 22:23:47 +00: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
3a7cf1f057 Make a11y node info parceling more robust am: 1d8eb49073
am: 93c47c9d07

Change-Id: I8677c77968c202c8c6a0553db919610a140fda58
2017-04-07 23:16:55 +00: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
Phil Weaver
d0e54c1c09 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.
Change-Id: I10f24747e3ab87d77cd1deba56db4526e3aa5441
(cherry picked from commit 687bb44b43)
2017-04-07 18:53:26 +00:00
Jeff Sharkey
a0b1198e70 DO NOT MERGE. Grant MMS Uri permissions as the calling UID.
am: 6f754e48e9

Change-Id: I2f6dd5ba1e266b3d451533e518ec7f2fe24b262c
2017-02-12 09:48:46 +00: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
Jeff Sharkey
3f3da42ef9 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:43:24 +00:00
Charles He
133ff4d611 Prevent writing to FRP partition during factory reset. am: a9437bd1ca
am: 2ce5c4320d

Change-Id: I29339a634fd22cd46bfc08619464da8fe159a2b7
2016-12-29 10:03:53 +00:00
Charles He
2ce5c4320d Prevent writing to FRP partition during factory reset.
am: a9437bd1ca

Change-Id: Ib0b8db2357317dc3e680910c08f15f098baf2af9
2016-12-29 09:48:45 +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
792d49dfb5 DO NOT MERGE. Check provider access for content changes.
am: 91add43ae7

Change-Id: I158a5dab0643fb5d2c07393f0df030e93b3c006a
2016-12-02 18:19:51 +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
8e14278209 Merge "DO NOT MERGE: Check provider access for content changes." into mnc-dev 2016-12-02 18:10:11 +00:00
Jeff Sharkey
b9a0b79675 DO NOT MERGE. Retain DownloadManager Uri grants when clearing.
am: 1de465bec2

Change-Id: I14f82fa9c555bea0e71553713436a6836a421691
2016-12-02 00:50:29 +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
3b0aa060a3 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 16:50:29 -07: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
Jeff Sharkey
4ddbf942a0 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-17 21:02:37 +00: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
Xin Li
ee2903686f Merge "Merge "DO NOT MERGE - Added Emergency affordance feature" into
marshmallow-dev" into mnc-dev.

Change-Id: I7215eebd4a2cc9a4b6ccf2a3e36ed8edc556d208
2016-10-13 13:51:42 -07:00