Commit Graph

73260 Commits

Author SHA1 Message Date
Jeff Sharkey
fc095efde0 RESTRICT AUTOMERGE Enable stricter SQLiteQueryBuilder options.
am: f683c688d5

Change-Id: I64ae89ecc92127de21503fbcfdd34c60a6f620bc
2019-09-12 10:06:09 -07:00
Jeff Sharkey
37e2229257 RESTRICT AUTOMERGE Strict SQLiteQueryBuilder needs to be stricter.
am: 92e5e5e45c

Change-Id: I2e0a5c5cd35f9abcf362d3db4514e1bbd6bd7035
2019-09-12 10:02:05 -07:00
Jeff Sharkey
f683c688d5 RESTRICT AUTOMERGE
Enable stricter SQLiteQueryBuilder options.

Malicious callers can leak side-channel information by using
subqueries in any untrusted inputs where SQLite allows "expr" values.

This change starts using setStrictColumns() and setStrictGrammar()
on SQLiteQueryBuilder to block this class of attacks.  This means we
now need to define the projection mapping of valid columns, which
consists of both the columns defined in the public API and columns
read internally by DownloadInfo.Reader.

We're okay growing sAppReadableColumnsSet like this, since we're
relying on our trusted WHERE clause to filter away any rows that
don't belong to the calling UID.

Remove the legacy Lexer code, since we're now internally relying on
the robust and well-tested SQLiteTokenizer logic.

Bug: 135270103, 135269143
Test: cts-tradefed run cts -m CtsAppTestCases -t android.app.cts.DownloadManagerTest
Change-Id: Iec1e8ce18dc4a9564318e0473d9d3863c8c2988a
2019-09-11 23:52:37 +00:00
Jeff Sharkey
92e5e5e45c RESTRICT AUTOMERGE
Strict SQLiteQueryBuilder needs to be stricter.

Malicious callers can leak side-channel information by using
subqueries in any untrusted inputs where SQLite allows "expr" values.

This change offers setStrictGrammar() to prevent this by outright
blocking subqueries in WHERE and HAVING clauses, and by requiring
that GROUP BY and ORDER BY clauses be composed only of valid columns.

This change also offers setStrictColumns() to require that all
untrusted column names are valid, such as those in ContentValues.

Relaxes to always allow aggregation operators on returned columns,
since untrusted callers can always calculate these manually.

Bug: 135270103, 135269143
Test: cts-tradefed run cts -m CtsDatabaseTestCases -t android.database.sqlite.cts.SQLiteQueryBuilderTest
Change-Id: I6290afd19c966a8bdca71c377c88210d921a9f25
2019-09-10 18:08:57 +00:00
Jonathan Scott
e4ddc22035 [automerger] Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc). am: 20e5d92613 am: c1ec4d6e8e am: 80e1c4fd36 am: 7b6a04fceb am: 743846742d
am: 0b1d526f50

Change-Id: Ie3f10bbed4bdb2bb7e141d7bb8d34e0b818c3f30
2019-09-09 12:20:54 -07:00
Android Build Merger (Role)
0b1d526f50 [automerger] Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc). am: 20e5d92613 am: c1ec4d6e8e am: 80e1c4fd36 am: 7b6a04fceb am: 743846742d
Change-Id: Ia84a02b1b3ff3e9f4849554c6b2f0e904daadd05
2019-09-09 16:55:54 +00:00
Android Build Merger (Role)
743846742d [automerger] Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc). am: 20e5d92613 am: c1ec4d6e8e am: 80e1c4fd36 am: 7b6a04fceb
Change-Id: I8914a6337a6e6c905b42cc498f34db5142db7a1a
2019-09-09 16:55:50 +00:00
Android Build Merger (Role)
7b6a04fceb [automerger] Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc). am: 20e5d92613 am: c1ec4d6e8e am: 80e1c4fd36
Change-Id: I6ef1648f805c48ef37c8921ddfa1d147a8e5e032
2019-09-09 16:55:45 +00:00
Android Build Merger (Role)
80e1c4fd36 [automerger] Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc). am: 20e5d92613 am: c1ec4d6e8e
Change-Id: I641d14a61338365b5da7f6c55ead2baff29e811c
2019-09-09 16:55:42 +00:00
Android Build Merger (Role)
c1ec4d6e8e [automerger] Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc). am: 20e5d92613
Change-Id: I6b5ad877382a352cb5b4bcdd05a2d19da502945a
2019-09-09 16:55:35 +00:00
Jonathan Scott
20e5d92613 Add MANAGED_PROVISIONING_DPC_DOWNLOADED (nyc).
Test: Just adding a constant
Bug: 132261064
Change-Id: I1527be03a10fa1a2fde09e3e41d6b7e83a986fc0
Merged-In: I2bce277ff8f2de4614e19d5385fe6712b076f9c9
2019-08-02 13:16:36 +00:00
Mihai Popa
09bfff78dd [automerger] Fix Layout.primaryIsTrailingPreviousAllLineOffsets am: 2778b1e49d am: 77b7393e7d am: 126189263d
am: 29534f6c57

Change-Id: Id615c055975d251f45ec995c389e4acbe1274cd8
2019-07-10 14:56:38 -07:00
Android Build Merger (Role)
5ad1deb51c [automerger] Fix Layout.primaryIsTrailingPreviousAllLineOffsets am: 7d6c02de04
Change-Id: I7fcc292a58dc297d2725ae3df99d637bbd1a8479
2019-07-10 18:02:40 +00:00
Android Build Merger (Role)
29534f6c57 [automerger] Fix Layout.primaryIsTrailingPreviousAllLineOffsets am: 2778b1e49d am: 77b7393e7d am: 126189263d
Change-Id: If52ab20b7cd84d02518bdfcd46987e329b654e2d
2019-07-10 18:02:37 +00:00
Mihai Popa
7d6c02de04 Fix Layout.primaryIsTrailingPreviousAllLineOffsets
The CL fixes a crash in Layout.primaryIsTrailingPreviousAllLineOffsets.
The crash was happening when the method was called for a line beginning
with an empty bidi run. This could happen, for example, for empty text -
I was unable to find any other case. The CL improves the existing test
for the method with this case, which was previously crashing.

The CL also fixes a potential crash in getLineHorizontals. However, this
bug could never happen as in the current code path clamped is always
false (and kept as parameter for parity with getHorizontal).

Bug: 135444178
Bug: 78464361
Test: atest FrameworksCoreTests:android.text.LayoutTest\#testPrimaryIsTrailingPrevious
Change-Id: I47157abe1d74675884734e3810628a566e40c1b4
(cherry picked from commit 7ad499d007)
2019-07-10 18:02:36 +00:00
Android Build Merger (Role)
126189263d [automerger] Fix Layout.primaryIsTrailingPreviousAllLineOffsets am: 2778b1e49d am: 77b7393e7d
Change-Id: I2a5373fa2ea348adde8e5592a5a9fa489c7fe12b
2019-07-10 18:02:32 +00:00
Android Build Merger (Role)
77b7393e7d [automerger] Fix Layout.primaryIsTrailingPreviousAllLineOffsets am: 2778b1e49d
Change-Id: I0c15ebaddd8d8edb9ff630ffbe4d855219b06907
2019-07-10 18:02:29 +00:00
Mihai Popa
2778b1e49d Fix Layout.primaryIsTrailingPreviousAllLineOffsets
The CL fixes a crash in Layout.primaryIsTrailingPreviousAllLineOffsets.
The crash was happening when the method was called for a line beginning
with an empty bidi run. This could happen, for example, for empty text -
I was unable to find any other case. The CL improves the existing test
for the method with this case, which was previously crashing.

The CL also fixes a potential crash in getLineHorizontals. However, this
bug could never happen as in the current code path clamped is always
false (and kept as parameter for parity with getHorizontal).

Bug: 135444178
Bug: 78464361
Test: atest FrameworksCoreTests:android.text.LayoutTest\#testPrimaryIsTrailingPrevious
Change-Id: I47157abe1d74675884734e3810628a566e40c1b4
(cherry picked from commit 7ad499d007)
2019-07-10 18:02:25 +00:00
Michael Wachenschwanz
1c8a632ad2 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df am: 31737b4618
am: 2ca66d4d10

Change-Id: I452bc18a9cebc417e7c4499c2bebf8fd3cc0f1ce
2019-06-05 17:07:58 -07:00
Android Build Merger (Role)
2ca66d4d10 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df am: 31737b4618
Change-Id: I780fc62bcad56b4f1518a9a84ff7a77914f5c722
2019-06-05 17:32:04 +00:00
Android Build Merger (Role)
31737b4618 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df
Change-Id: Ia92e1831963623df7931de17b029a92bab7f9374
2019-06-05 17:32:01 +00:00
Android Build Merger (Role)
d944d907df [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f
Change-Id: I38fbeaf20d21dd174e2b022196446631c20b2367
2019-06-05 17:31:57 +00:00
Android Build Merger (Role)
6d72c0681f [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21 am: 86c9bdd251
Change-Id: I16e96c2b33f18459189bfff359ae85483667a202
2019-06-05 17:31:54 +00:00
Android Build Merger (Role)
86c9bdd251 [automerger] Clear the Parcel before writing an exception during a transaction am: f8ef5bcf21
Change-Id: I416ed302e6c680fd006bd9b38565ebfc8b132084
2019-06-05 17:31:48 +00:00
Michael Wachenschwanz
f8ef5bcf21 Clear the Parcel before writing an exception during a transaction
This prevents any object data from being accidentally overwritten by the
exception, which could cause unexpected malformed objects to be sent
across the transaction.

Test: atest CtsOsTestCases:ParcelTest#testExceptionOverwritesObject
Bug: 34175893
Change-Id: Iaf80a0ad711762992b8ae60f76d861c97a403013
Merged-In: Iaf80a0ad711762992b8ae60f76d861c97a403013
2019-06-05 17:31:43 +00:00
Abodunrinwa Toki
7c8a46e0dd DO NOT MERGE No smart text assist for unprovisioned device.
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
bit FrameworksCoreTests:android.widget.TextViewActivityTest
bit FrameworksCoreTests:android.widget.TextViewActivityMoutseTest
Bug: 120866126
Bug: 62745625
Merged-In: I360250a5c2a92d09c8d8f559b51c74f490f70c2c
Change-Id: I360250a5c2a92d09c8d8f559b51c74f490f70c2c
2019-02-04 21:26:48 +00:00
Tony Mak
3f552669e3 RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters.
am: d9e75a497e

Change-Id: Id1b62f552f29ef9a20d78bb7487201452dfda601
2019-01-08 02:50:57 -08:00
Tony Mak
d9e75a497e RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters.
Also don't show smart actions for selections in text with unsupported
characters.

Bug: 116321860
Test: runtest -x cts/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
Change-Id: Ib2ee544b5783234fba8ee2f93adf0b36b039520f
Merged-In: Ib2ee544b5783234fba8ee2f93adf0b36b039520f
2019-01-03 17:10:46 +00:00
Android Build Merger (Role)
3823545fee [automerger] RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters. am: 73f398d306 am: 363e47e676 am: efb165f557 am: b2b98a008b
Change-Id: I29c3f97af12987c8a1dd8a69529641d32d2dd172
2019-01-03 14:07:59 +00:00
Android Build Merger (Role)
b2b98a008b [automerger] RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters. am: 73f398d306 am: 363e47e676 am: efb165f557
Change-Id: Ibc588da08fbb6069989c7c97110e4cecea0b0ce5
2019-01-03 14:07:52 +00:00
Android Build Merger (Role)
efb165f557 [automerger] RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters. am: 73f398d306 am: 363e47e676
Change-Id: I828e0c99ab41935d20033c970b5131f2fcbf9085
2019-01-03 14:07:43 +00:00
Android Build Merger (Role)
363e47e676 [automerger] RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters. am: 73f398d306
Change-Id: I423ddd8df74bee8dbf7cd96009bbdffebf81b93a
2019-01-03 14:07:33 +00:00
Tony Mak
73f398d306 RESTRICT AUTOMERGE Do not linkify text with RLO/LRO characters.
Also don't show smart actions for selections in text with unsupported
characters.

Bug: 116321860
Test: runtest -x cts/tests/tests/text/src/android/text/util/cts/LinkifyTest.java

Change-Id: Id271cab8aef6b9b13ef17f1a8654c7616f75cf13
2019-01-03 14:07:30 +00:00
Jakub Pawlowski
0712542a6f Bluetooth: Check descriptors size in BluetoothHidDeviceAppSdpSettings
am: f843ccbf9e

Change-Id: I73800fa61a09d6a5e603582a0a4046a8bb7fd5d8
2018-11-30 08:22:48 -08:00
Jakub Pawlowski
f843ccbf9e Bluetooth: Check descriptors size in BluetoothHidDeviceAppSdpSettings
Bug: 119819889
Test: compilation
Change-Id: If51d0e2af74d99758f79a603d40cc2f5c84e4dde
Merged-In: If51d0e2af74d99758f79a603d40cc2f5c84e4dde
2018-11-30 07:22:04 +00:00
Varun Shah
84376cb95a Merge "RESTRICT AUTOMERGE: Added an app id security check in isAppForeground." into oc-dev
am: 546ba589a2

Change-Id: I0b63c0bef57320b7465c2fe4e45304fd637e712d
2018-11-19 15:11:59 -08:00
Varun Shah
ad02e59ac2 RESTRICT AUTOMERGE: Added an app id security check in isAppForeground.
ActivityManagerService#isAppForeground now checks if the caller has the
permission to view if an app is in the foreground.

Bug: 115384617
Test: cts-tradefed run cts -m CtsSecurityTestCases -t android.security.cts.ActivityManagerTest#testIsAppInForegroundNormal
Test: cts-tradefed run cts -m CtsSecurityTestCases -t android.security.cts.ActivityManagerTest#testIsAppInForegroundMalicious
Change-Id: I9602c89b2d40036e525c38960a08326dc74c6682
2018-11-07 23:37:18 +00:00
Jeff Sharkey
893598cd4b Merge "RESTRICT AUTOMERGE: Recover shady content:// paths." into oc-dev
am: ab80221a8c

Change-Id: I61ef6b1a189ef345326a5455ff17b47d67f18f8d
2018-10-11 21:56:21 -07:00
Jeff Sharkey
a1ec7b115c RESTRICT AUTOMERGE: Recover shady content:// paths.
The path-permission element offers prefix or regex style matching of
paths, but most providers internally use UriMatcher to decide what
to do with an incoming Uri.

This causes trouble because UriMatcher uses Uri.getPathSegments(),
which quietly ignores "empty" paths.  Consider this example:

    <path-permission android:pathPrefix="/private" ... />

    uriMatcher.addURI("com.example", "/private", CODE_PRIVATE);

    content://com.example//private

The Uri above will pass the security check, since it's not
technically a prefix match.  But the UriMatcher will then match it
as CODE_PRIVATE, since it ignores the "//" zero-length path.

Since we can't safely change the behavior of either path-permission
or UriMatcher, we're left with recovering these shady paths by
trimming away zero-length paths.

Bug: 112555574
Test: cts-tradefed run cts -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppSecurityTests
Change-Id: Ibadbfa4fc904ec54780c8102958735b03293fb9a
2018-10-05 20:39:03 +00:00
Android Build Merger (Role)
50e06f25ac [automerger] RESTRICT AUTOMERGE: Recover shady content:// paths. am: 301d17e4dd am: 010585fe3c am: 6ef77aedac am: ae30765665
Change-Id: I0cd990dcdfb899fa419cf1b28934d4118c225937
2018-10-05 00:19:37 +00:00
Android Build Merger (Role)
ae30765665 [automerger] RESTRICT AUTOMERGE: Recover shady content:// paths. am: 301d17e4dd am: 010585fe3c am: 6ef77aedac
Change-Id: Id59316f6628fcabc71962bd9ca8ab15cbbfb8b6d
2018-10-05 00:19:27 +00:00
Android Build Merger (Role)
6ef77aedac [automerger] RESTRICT AUTOMERGE: Recover shady content:// paths. am: 301d17e4dd am: 010585fe3c
Change-Id: I5f8b88ca54c22bb978fc6c468259fec9e0e9898a
2018-10-05 00:19:19 +00:00
Android Build Merger (Role)
010585fe3c [automerger] RESTRICT AUTOMERGE: Recover shady content:// paths. am: 301d17e4dd
Change-Id: I80ac911a166e12eedf77518436808d4f3ede872c
2018-10-05 00:19:12 +00:00
Jeff Sharkey
301d17e4dd RESTRICT AUTOMERGE: Recover shady content:// paths.
The path-permission element offers prefix or regex style matching of
paths, but most providers internally use UriMatcher to decide what
to do with an incoming Uri.

This causes trouble because UriMatcher uses Uri.getPathSegments(),
which quietly ignores "empty" paths.  Consider this example:

    <path-permission android:pathPrefix="/private" ... />

    uriMatcher.addURI("com.example", "/private", CODE_PRIVATE);

    content://com.example//private

The Uri above will pass the security check, since it's not
technically a prefix match.  But the UriMatcher will then match it
as CODE_PRIVATE, since it ignores the "//" zero-length path.

Since we can't safely change the behavior of either path-permission
or UriMatcher, we're left with recovering these shady paths by
trimming away zero-length paths.

Bug: 112555574
Test: cts-tradefed run cts -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppSecurityTests
Change-Id: Ibadbfa4fc904ec54780c8102958735b03293fb9a
2018-10-05 00:19:08 +00:00
Michael Wachenschwanz
1f5050c054 Merge changes from topic "am-bdb0270e-8295-4ee6-be36-2709e172d48f" into oc-dev
am: d32c2a4189

Change-Id: Ie2ad590368e9c10f6222d9ae65470ebb12dabac2
2018-09-05 18:46:57 -07:00
Android Build Merger (Role)
7cf42221c6 [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf am: 628cbe5c53 am: 433e4173ec am: 686897ddd9
Change-Id: I07c1d68a0c5d8da6ec81c717dff97d33dba86a16
2018-08-30 20:46:20 +00:00
Android Build Merger (Role)
686897ddd9 [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf am: 628cbe5c53 am: 433e4173ec
Change-Id: I8375f1c1a860f5021efc5873e94b452a44d6c145
2018-08-30 20:46:12 +00:00
Android Build Merger (Role)
433e4173ec [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf am: 628cbe5c53
Change-Id: Id32bd5aa02d5689873bb311eebc87f367af9a9d9
2018-08-30 20:46:05 +00:00
Android Build Merger (Role)
628cbe5c53 [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3 am: d6947f1cbf
Change-Id: Idaab5395d9e0970fe57b017bcba10f8757ffe3c7
2018-08-30 20:45:59 +00:00
Android Build Merger (Role)
d6947f1cbf [automerger] Verify number of Map entries written to Parcel am: 057a01d1f3
Change-Id: Idb2572b46c48fe2f3e4b99c5cb4372dcfe6b20ce
2018-08-30 20:45:51 +00:00