Commit Graph

59200 Commits

Author SHA1 Message Date
Phil Weaver
b35d6eadf3 Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df am: a0f874d5c1 am: c30868369c
am: 4c898e40ef

Change-Id: Icdb456c12bf0e0d3675ab15fa0b82b482ff4ddeb
2017-04-07 23:09:35 +00:00
Phil Weaver
4c898e40ef Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df am: a0f874d5c1
am: c30868369c

Change-Id: If1cfc920db5aea27397a8f79125db944d5c4580b
2017-04-07 23:02:10 +00:00
Phil Weaver
c30868369c Make a11y node info parceling more robust am: d0e54c1c09 am: d87b12a4df
am: a0f874d5c1

Change-Id: I2bc5c091c1c685da2be951e4294483519481789f
2017-04-07 22:53:58 +00:00
Phil Weaver
a0f874d5c1 Make a11y node info parceling more robust am: d0e54c1c09
am: d87b12a4df

Change-Id: Ic10324338024f86cfc64b3e01c6380b26334d5a3
2017-04-07 22:46:31 +00:00
Phil Weaver
d87b12a4df Make a11y node info parceling more robust
am: d0e54c1c09

Change-Id: Ie4c34b84540bc928859ef1c271b4eb9d520fa6bc
2017-04-07 22:39:22 +00: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
502ee22a9d DO NOT MERGE. Grant MMS Uri permissions as the calling UID. am: 3f3da42ef9 am: 32c71b078c
am: 75f767afa1

Change-Id: I1393b6bcfa074bef42b7491204df55e39471e689
2017-02-12 09:56:10 +00:00
Jeff Sharkey
75f767afa1 DO NOT MERGE. Grant MMS Uri permissions as the calling UID. am: 3f3da42ef9
am: 32c71b078c

Change-Id: I1af83dbf9869bd93ecc5c07e1ce6155206f73290
2017-02-12 09:51:37 +00:00
Jeff Sharkey
32c71b078c DO NOT MERGE. Grant MMS Uri permissions as the calling UID.
am: 3f3da42ef9

Change-Id: I222c32931827d906db5fc1e3258f2095e6013481
2017-02-12 09:47:33 +00:00
Rubin Xu
824c8284ce Merge "Fix uri permission grant on remote bug report uri" into nyc-dev
am: 42f2e80293

Change-Id: Ic167e10a205b5c8f9df81cd20a6f08359d3807f4
2017-02-10 12:16:19 +00:00
TreeHugger Robot
42f2e80293 Merge "Fix uri permission grant on remote bug report uri" into nyc-dev 2017-02-10 12:11:00 +00:00
Jeff Sharkey
78f2e38a12 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
Merged-In: Ia9fe19843b52977c8a94ee5349b907beda1882fc
(cherry picked from commit 7ff418d9a9)
2017-02-09 18:03:18 +00:00
Rubin Xu
ca53b27c34 Fix uri permission grant on remote bug report uri
System server is no longer allowed to grant uri permission directly. As a result
we use grantUriPermissionFromIntent() to grant permission from the shell UID,
who is the owner of the bug report content.

Also fix a security bug where the broadcast to notify user consent of remote
bug report mismatches the <protected-broadcast> definition, causing it to be
sendable by anyone.

Bug: 34159108
Test: manual - Install TestDPC and request bugreport, try accept and decline
      once the report is ready (Bullhead).

Merged-In: I66e3f2a16d4547549f09d3c96d52aed2330caedf
Change-Id: I66e3f2a16d4547549f09d3c96d52aed2330caedf
2017-02-08 10:15:48 +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
Jeff Sharkey
a78841ebd4 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:04:15 +00:00
Andrew Scull
ad4aa1ce7d resolve merge conflicts of e4cefbf4fc to nyc-dr1-dev
Change-Id: Ib536a33ba381c28397320edd516d52727e5bdacc
2017-01-13 13:16:09 +00:00
Andrew Scull
97848fc473 Merge "Don't save password metrics to disk." into nyc-dev 2017-01-13 12:18:45 +00:00
Andrew Scull
e4cefbf4fc Don't save password metrics to disk.
On FBE devices, don't save the metrics to disk but compute them when the
password is first entered and only store them in RAM.

Merged-in: 5daf273b7e
Bug: 32793550
Change-Id: Icee7f615167761177b224b342970a36c7d90f6ba
2017-01-12 16:01:59 +00:00
Dave Friedman
e0fd4c8a3b Docs: Updates Javadoc documentation. Bug: 32532540
am: 2a3ebadcbe

Change-Id: Ibee55c5e73d9b51e5f5df24be01b0b797fa8a7a5
2017-01-07 02:30:45 +00:00
David Friedman
101f885826 Merge "Docs: Updates Javadoc documentation. Bug: 32532540" into nyc-dev 2017-01-07 02:24:57 +00:00
Dave Friedman
2a3ebadcbe Docs: Updates Javadoc documentation.
Bug: 32532540

Change-Id: Ia811d9a51812206b18b75a98f6c5a55b92627404
2017-01-06 16:41:19 -08:00
Charles He
dd7837c5ad Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882 am: e5156ec1e9 am: 9a47fa7fc0
am: 8bcdab7e6f

Change-Id: I6e41bfad4ce66ca80bca636a5fb4ddc85b71e83a
2016-12-29 10:41:25 +00:00
Charles He
8bcdab7e6f Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882 am: e5156ec1e9
am: 9a47fa7fc0

Change-Id: Ifb9f5b177f7c031352e6e9cf308e6295f7c60074
2016-12-29 10:34:04 +00:00
Charles He
9a47fa7fc0 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611 am: 00a581f882
am: e5156ec1e9

Change-Id: I62b79fe7ef5a2febce27729f4709a599832cb3da
2016-12-29 10:25:50 +00:00
Charles He
e5156ec1e9 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d am: 133ff4d611
am: 00a581f882

Change-Id: I016955744e48d7a91380c2ff39f7c64536a39c7e
2016-12-29 10:18:49 +00:00
Charles He
00a581f882 Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d
am: 133ff4d611

Change-Id: I54b163f645f561243aac3df1a55c1023531997b3
2016-12-29 10:11:20 +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
Svetoslav Ganov
1181f448c1 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.

Tests: Updated the tests and they pass.

bug:33039926
bug:33042690

Change-Id: Ibf56827209a9b791aa83ae679219baf829ffc2ac
2016-12-09 00:08:33 +00:00
Bill Napier
43966dafb3 Revert "Fix vulnerability in MemoryIntArray am: a97171ec49"
This reverts commit fb12dd509f.

Change-Id: I9e1b22b8df0e754095541a758096cba279a81ab1
2016-12-08 22:22:38 +00:00
Svetoslav Ganov
fb12dd509f Fix vulnerability in MemoryIntArray
am: a97171ec49

Change-Id: Ifa2221a9b8ca705ef0239d61772938ac11761ce2
2016-12-08 21:37:33 +00:00
Svetoslav Ganov
a97171ec49 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

 Further, we now check the memory mapped size against
 the size of the underlying ashmem region after we do
 the memory mapping (to fix the ahsmem size) and if
 an attacker changed the size under us we throw.

 Tests: Updated the tests and they pass.

 bug:33039926
 bug:33042690

Change-Id: I1004579181ff7a223ef659e85c46100c47ab2409
2016-12-08 11:51:26 -08:00
Svetoslav Ganov
64b5725900 Revert "Fix vulnerability in MemoryIntArray"
am: 1f06508bc6

Change-Id: Id387817495b1857f304203c8487da3db49bdd0e4
2016-12-08 02:29:00 +00:00
Svetoslav Ganov
1f06508bc6 Revert "Fix vulnerability in MemoryIntArray"
This reverts commit 4694cad511.

Change-Id: I235ea3c4bd86d90bf97bc1a2d023f4780251e570
2016-12-08 02:17:40 +00:00
Svetoslav Ganov
ec40a70ffb Fix vulnerability in MemoryIntArray
am: 4694cad511

Change-Id: I64257a851c06e4a333056ee132ff8a2ea29aef5c
2016-12-08 01:49:21 +00:00
Aart Bik
86699f980f Revert "Fix vulnerability in MemoryIntArray"
am: 29139a8ae5

Change-Id: I3975cfc51bd03a65855c113dfdb827d24471e0ba
2016-12-08 01:36:50 +00:00
Svetoslav Ganov
4694cad511 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.

Tests: Updated the tests and they pass.

bug:33039926
bug:33042690

Change-Id: Id7f0e8a4c861b0b9fa796767e0c22d96633b14d1
2016-12-08 01:35:08 +00:00
Aart Bik
29139a8ae5 Revert "Fix vulnerability in MemoryIntArray"
This reverts commit 86dfa094de.


BROKE BUILD (as shown in some treehugger builds)

frameworks/base/core/java/android/util/MemoryIntArray.java:84: error: cannot find symbol
        mCloseGuard.open("close");
        ^
        
       
bug:33039926
bug:33042690

Change-Id: Ief875e543ec849fe55c747fb1ed5253f0cd9a122
2016-12-08 01:12:48 +00:00
Svetoslav Ganov
367023218e Fix vulnerability in MemoryIntArray
am: 86dfa094de

Change-Id: I664782bea6e2b941ba94e51c65afd7e9b0f95f8d
2016-12-08 00:42:18 +00:00
Svetoslav Ganov
86dfa094de Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.

Tests: Updated the tests and they pass.

bug:33039926
bug:33042690

Change-Id: Ie267646eb88014034fbd048d7a9bc273420c7eff
2016-12-07 15:19:13 -08:00
Jeff Sharkey
bdfb26ac3b DO NOT MERGE: Check provider access for content changes.
am: 11e3e52bd9

Change-Id: Ice374d398888e2898f571cee7df73f5e47921655
2016-12-02 18:19:51 +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
7340749c2a DO NOT MERGE: Check provider access for content changes.
am: ff2fede0dd

Change-Id: I7de766d1acc1f20e83f07953dedfe3810f906db8
2016-12-02 18:19:42 +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
48f6bdfce4 Merge "DO NOT MERGE: Check provider access for content changes." into mnc-dr-dev 2016-12-02 18:10:14 +00:00
Jeff Sharkey
0be332852e Merge "DO NOT MERGE: Check provider access for content changes." into mnc-dr1.5-dev 2016-12-02 18:10:12 +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
fdef2cd87d Merge "DO NOT MERGE: Check provider access for content changes." into nyc-dev 2016-12-02 18:10:10 +00:00
Jeff Sharkey
bc7aae3610 DO NOT MERGE. Retain DownloadManager Uri grants when clearing.
am: 17010dc0d2

Change-Id: I7c6d507411864912937c9dbacc985cb834760cfe
2016-12-02 02:05:34 +00:00