Commit Graph

54853 Commits

Author SHA1 Message Date
Android Build Merger (Role)
83cb35453f [automerger] Fix VerifyCredentialResponse parcelling code am: 54813e9888 am: 0231bc4d6d
Change-Id: I060b6306f3f53b4497b6a19d7221aa1938e66f55
2018-02-07 08:18:09 +00:00
Android Build Merger (Role)
0231bc4d6d [automerger] Fix VerifyCredentialResponse parcelling code am: 54813e9888
Change-Id: Ib1b60818cddeefe3031cf6c9880f5b790775aa62
2018-02-07 08:18:02 +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)
d3c0db66b9 [automerger] Adjust URI host parsing to stop on \ character. am: fa3afbd0e7 am: 97668ae137 am: fddbf1b6b2
Change-Id: I3fd20a3ee5eaa6be1c1989f13d40aed34136557e
2018-01-31 11:20:15 +00:00
Android Build Merger (Role)
fddbf1b6b2 [automerger] Adjust URI host parsing to stop on \ character. am: fa3afbd0e7 am: 97668ae137
Change-Id: Ic336b5fafebabdd4a5ad4d775a96d76739189a09
2018-01-31 11:20:08 +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
Adam Vartanian
49e5fca362 Adjust Uri host parsing to use last instead of first @. am: cd6228dd37 am: 6a9c7c4814 am: 4158c9fbf3
am: eee677386e

Change-Id: Ifd94d94c5376a6b4f1174aa7c2c8bb6d40199d89
2017-11-07 21:29:27 +00:00
Adam Vartanian
eee677386e Adjust Uri host parsing to use last instead of first @. am: cd6228dd37 am: 6a9c7c4814
am: 4158c9fbf3

Change-Id: I61bc0f5471d8f7a9a59136f320d465f2ee81b518
2017-11-07 21:02:07 +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
Charles He
1cd9e8096f [automerger] Fix security hole in GateKeeperResponse. am: e74cae8f7c am: b1141b6ff0
Change-Id: Ia0d267bb2013d7ddfe26dddfa35f3f396cca7f20
2017-08-15 17:51:58 +00:00
Charles He
b1141b6ff0 [automerger] Fix security hole in GateKeeperResponse. am: e74cae8f7c
Change-Id: Ic72c354aaec594f02567949e294be2c10da47853
2017-08-15 17:51:28 +00:00
Phil Weaver
9625d164e4 Merge "Back-port fixes for b/62196835" into mnc-dev am: 093c7a8e56
am: 0ddd7e4714

Change-Id: If39e3e66871aed33dfa0a9949cfd70a7ec45231f
2017-07-18 23:35:25 +00:00
Phil Weaver
0ddd7e4714 Merge "Back-port fixes for b/62196835" into mnc-dev
am: 093c7a8e56

Change-Id: I7f734c7878cf065d15335602f9b0a6e02a786d53
2017-07-18 23:28:55 +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
66a08a5413 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab
am: 55c8a1ede9

Change-Id: Ia3e4d749c5b5475640325fd47eb4260d52e61365
2017-05-22 23:19:09 +00:00
Nick Kralevich
7fd2d8ea31 system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d
am: 982b8018af

Change-Id: I8cb5052694668ee8021f75778244e4d1b6cc3bb5
2017-05-22 23:18:24 +00:00
Nick Kralevich
55c8a1ede9 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39
am: 47beaa8fab

Change-Id: Ie697e5e8bfb7664b410d564a84ae5784be890f90
2017-05-22 23:02:54 +00:00
Nick Kralevich
982b8018af system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2
am: f5bd84b82d

Change-Id: I163a9224d6b0ff5f42f52656773e1c297661b977
2017-05-22 23:02:13 +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
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
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
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
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
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
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
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
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