Commit Graph

3147 Commits

Author SHA1 Message Date
Edwin Wong
e9f480cf2b [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into oc-mr1-dev am: 1e44ea96ef -s ours am: 0914ef7cd2 -s ours am: 46c2ba1705 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13497770

Change-Id: I78c332b0bbb52851a59786c538d3c793439afb43
2021-07-13 21:45:18 +00:00
Edwin Wong
de20725d1a [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into pi-dev am: 9452ee5a55 -s ours am: 18fe74f4d9 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499845

Change-Id: Ie112ddf160809e9dfd919c9c3e6f5cc071033801
2021-07-13 21:45:12 +00:00
Edwin Wong
9d02914fd7 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 1bd967f9a8 -s ours am: 7752248af7 -s ours am: c4600c0f7d -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462544

Change-Id: I688ac733506263c800ae5161e6218b0c954a111c
2021-07-13 21:44:59 +00:00
Edwin Wong
5e2f09293c [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 0558edfb31 -s ours am: ee4815ae80 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13459672

Change-Id: I552dc31fba2d6813e9bb7fa94f29e4a47618ff8c
2021-07-13 21:44:50 +00:00
Edwin Wong
46c2ba1705 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into oc-mr1-dev am: 1e44ea96ef -s ours am: 0914ef7cd2 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13497770

Change-Id: I0f9e47b06bebcd404589496e8834ddbc106f749a
2021-07-13 21:28:58 +00:00
Edwin Wong
18fe74f4d9 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into pi-dev am: 9452ee5a55 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499845

Change-Id: I1c775fc2a6e4c094e003078c167a1256d0d7c776
2021-07-13 21:28:53 +00:00
Edwin Wong
c4600c0f7d [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 1bd967f9a8 -s ours am: 7752248af7 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462544

Change-Id: I80f78b99b7afc28ff06270f114fd3e7929c3a7c7
2021-07-13 21:28:38 +00:00
Edwin Wong
ee4815ae80 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 0558edfb31 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13459672

Change-Id: I9c8b8f3b2ca9d4891d89a5327f3fca39613989af
2021-07-13 21:28:31 +00:00
TreeHugger Robot
1ea8bee2a1 Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I6383c0dc15866b3ccad0b7b8a097fb4208f7d25d
2021-06-09 23:02:47 +00:00
Cong Lin
ae49fad32b [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I4bcbdfd8fe317277901c52f3e8fbd1a420b2f2b8
2021-06-09 23:02:46 +00:00
TreeHugger Robot
35b1be117e Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev 2021-06-09 22:40:20 +00:00
Edwin Wong
85bbf55e91 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: Ib88e34bacd5afb0ead74ba2a6526083366ea2822
2021-06-02 22:25:40 +00:00
Edwin Wong
d74cf5a35f [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: I84bf657fa0999fda46a89c02260ce31323164b9e
2021-06-02 22:25:26 +00:00
Edwin Wong
62e23e0369 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: If6f783b3af331eedd1b9f1a1a887990978c0c52e
2021-06-02 22:04:34 +00:00
Edwin Wong
787f7e2158 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: I3fa1dadd8d1294eff10ba86b9a7adf49e08e3bca
2021-06-02 22:04:24 +00:00
Cong Lin
f10acda463 [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate
build

This is a merge of CL from widevine repo (obfuscated code only):
https://widevine-internal-review.googlesource.com/c/cdm/+/124885

The source code change that produced the obfucated code is also included
in the CL above but will not be merged to Android.

Original commit message from the fix above:
"This is a security improvement against an L3 exploit b/182584472.
The change is to store RSA private key in two parts instead of one,
and load it separately when the key is needed. This will make it
more difficult to find the entire RSA key.

This CL does the key loading part only. Key splitting is done
in Haystack in CL: cl/367515385"

New L3 system IDs included in the obfuscated code:
ID     Description
22585  Android Q ARM L3 Field Provisioning 3.0
22586  Android Q ARM 64 L3 Field Provisioning 3.0
22587  Android Q x86 L3 Field Provisioning 3.0
22588  Android Q x86 64 L3 Field Provisioning 3.0

Bug: 182584472
Test: L3 unit tests
Test: GTS tests
run gts --module GtsMediaTestCases
run gts --module GtsExoPlayerTestCases
run gts --module GtsYouTubeTestCases

Change-Id: I834d3802690c2fda75cb3cfba186c41b6f5dc749
2021-05-18 15:24:57 -07:00
Cong Lin
b6b2367e9d [RESTRICT AUTOMERGE] Refresh L3 libraries after buffer overflow fix qt-dev am: eb9a027f0a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14238888

Change-Id: I53e5d60e293cbb0bb0072bd111aea2eb0547de57
2021-05-06 21:20:09 +00:00
Cong Lin
eb9a027f0a [RESTRICT AUTOMERGE] Refresh L3 libraries after buffer overflow fix qt-dev
Merge of [http://go/wvgerrit/123643]. Fix included:

http://go/wvgerrit/111603
Fix L3 block offset test and re-enable buffer overflow tests

http://go/wvgerrit/111784
Fix heap overflow test in L3 and OEMCrypto ref

Test: Ran L3 unit tests
Test: GTS tests https://android-build.googleplex.com/builds/forrest/run/L68100000872640856
Bug: 182584472

Change-Id: I237f52c715e691a52256bf01fa2422aeb34e45f3
2021-04-29 09:20:52 -07:00
Edwin Wong
389837df8c Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: I842a3b15c82a20085825bfda63ee023feed4a653
2021-04-06 23:06:29 +00:00
Edwin Wong
0914ef7cd2 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into oc-mr1-dev am: 1e44ea96ef -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13497770

Change-Id: I9d8da4ae123a4c9e963923a89c87a5b9172230b2
2021-04-06 23:06:28 +00:00
Edwin Wong
605ae2e217 [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: I1cb45d35088d149f02b0bb6c408e5fee3d79c1db
2021-04-06 23:06:28 +00:00
Edwin Wong
9452ee5a55 Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into pi-dev 2021-04-06 22:27:14 +00:00
Edwin Wong
aabd91204a Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev 2021-04-06 22:27:14 +00:00
Edwin Wong
1e44ea96ef Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into oc-mr1-dev 2021-04-06 22:27:14 +00:00
Edwin Wong
f49a3e5682 [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability.
The shared memory buffer used by srcPtr can be freed by another
thread because it is not protected by a mutex. Subsequently,
a use after free AIGABRT can occur in a race condition.

SafetyNet logging is not added to avoid log spamming. The
mutex lock is called to setup for decryption, which is
called frequently.

Test is run on rvc-dev branch, using target_hwasan-userdebug build.

Test: sts
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176495665#testPocBug_176495665

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-176495665_sts64

Bug: 176495665
Bug: 176444161
Change-Id: Ie1aca0ceacb4b7a1b6e473b823541607a36d8cb4
2021-04-06 11:45:43 -07:00
Edwin Wong
7752248af7 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 1bd967f9a8 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462544

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7ca4e8eeb271574476a23c21aac98540264a81a0
2021-03-10 20:12:37 +00:00
Edwin Wong
18065ce373 [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462543

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I36fb97d8855ef97a15c7d9d553efa874a2df7c84
2021-03-10 20:12:35 +00:00
Edwin Wong
93dd56bae2 [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability.
The shared memory buffer used by srcPtr can be freed by another
thread because it is not protected by a mutex. Subsequently,
a use after free AIGABRT can occur in a race condition.

SafetyNet logging is not added to avoid log spamming. The
mutex lock is called to setup for decryption, which is
called frequently.

The crash was reproduced on the device before the fix.
Verified the test passes after the fix.

Test: sts
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176495665#testPocBug_176495665

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-176495665_sts64

Bug: 176495665
Bug: 176444161
Change-Id: Ie1aca0ceacb4b7a1b6e473b823541607a36d8cb4
2021-03-08 16:08:50 -08:00
Edwin Wong
9c278174c8 [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability.
The shared memory buffer used by srcPtr can be freed by another
thread because it is not protected by a mutex. Subsequently,
a use after free AIGABRT can occur in a race condition.

SafetyNet logging is not added to avoid log spamming. The
mutex lock is called to setup for decryption, which is
called frequently.

The crash was reproduced on the device before the fix.
Verified the test passes after the fix.

Test: sts
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176495665#testPocBug_176495665

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-176495665_sts64

Bug: 176495665
Bug: 176444161
Change-Id: Ie1aca0ceacb4b7a1b6e473b823541607a36d8cb4
2021-03-08 15:54:00 -08:00
Edwin Wong
f3ad627bcb [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow.
There is a potential integer overflow to bypass the
destination base size check in decrypt. The destPtr
can then point to the outside of the destination buffer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176444622#testPocBug_176444622

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17644462264

Bug: 176444622
Bug: 176496353
Change-Id: Id3aece61d46d548c304782d4e1dc3a4747795c01
Merged-In: Id3aece61d46d548c304782d4e1dc3a4747795c01
2021-02-25 21:34:23 +00:00
Edwin Wong
1bd967f9a8 [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow.
There is a potential integer overflow to bypass the
destination base size check in decrypt. The destPtr
can then point to the outside of the destination buffer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176444622#testPocBug_176444622

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17644462264

Bug: 176444622
Bug: 176496353
Change-Id: Ic511871dfa3ddf7e66e94f7d58c4c9558add09a2
2021-02-02 23:41:01 -08:00
Edwin Wong
0558edfb31 [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow.
There is a potential integer overflow to bypass the
destination base size check in decrypt. The destPtr
can then point to the outside of the destination buffer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176444622#testPocBug_176444622

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17644462264

Bug: 176444622
Bug: 176496353
Change-Id: I2aa944d6db1754d10dacee05f2e06071bbb4a3cc
2021-02-02 23:31:26 -08:00
Edwin Wong
ad1d8778e4 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id7fbc45edc5264e942b87394024958550cfeadbf
2021-02-03 00:03:57 +00:00
Edwin Wong
25f89c373c Fix potential decrypt src pointer overflow. am: c3a24e6c86
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13421305

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I243e7a6e4ea799af9759be2ee41f9d9ff7805f0e
2021-02-03 00:03:49 +00:00
Edwin Wong
0253cb580e [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow.
Merged from http://go/wvgerrit/114903

There is a potential integer overflow to bypass the
source base size check in decrypt. The source pointer
can then point to the outside of the source buffer,
which could potentially leak arbitrary memory content
to destination pointer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176496160#testPocBug_176496160

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17649616064

Bug: 176496160
Bug: 176444786
Change-Id: I0a15d86a87fbf590f39ddf2ce218c83eacb0174e
2021-01-29 22:25:24 +00:00
Edwin Wong
a5c14b7afb [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow.
Merged from http://go/wvgerrit/114903

There is a potential integer overflow to bypass the
source base size check in decrypt. The source pointer
can then point to the outside of the source buffer,
which could potentially leak arbitrary memory content
to destination pointer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176496160#testPocBug_176496160

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17649616064

Bug: 176496160
Bug: 176444786
Change-Id: I208e0d5d949e8ef003fcf7d6f129eab66b9b3656
2021-01-29 22:24:18 +00:00
Edwin Wong
c3a24e6c86 Fix potential decrypt src pointer overflow.
Merged from http://go/wvgerrit/114903

There is a potential integer overflow to bypass the
source base size check in decrypt. The source pointer
can then point to the outside of the source buffer,
which could potentially leak arbitrary memory content
to destination pointer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176496160#testPocBug_176496160

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17649616064

Bug: 176496160
Bug: 176444786
Change-Id: I208e0d5d949e8ef003fcf7d6f129eab66b9b3656
2021-01-28 17:59:08 +00:00
Robert Shih
9a530b7f1e hidl WVDrmPlugin openSession: set securityLevel correctly
Merge of http://go/wvgerrit/94827

Bug: 149035295
Bug: 150103154
Bug: 150407639
Test: VtsHalDrmV1_2TargetTest
Change-Id: I3687b2305eb413112f7fbd0d5127d2168cdf376d
2020-03-04 18:44:44 +00:00
Rahul Frias
3a92c08fa2 Merge "Address request license test failures [ DO NOT MERGE ]" into qt-dev
am: 367befa3b7

Change-Id: I9b249c267aaaeb0272e1952415f85b00f68532cc
2019-06-01 17:56:56 -07:00
Rahul Frias
1d05cf8e0d Address request license test failures [ DO NOT MERGE ]
am: b7c6f9b52c

Change-Id: Id3616ea5bae789c2cdb2135cfdb92495c69536e0
2019-06-01 17:56:55 -07:00
Rahul Frias
367befa3b7 Merge "Address request license test failures [ DO NOT MERGE ]" into qt-dev 2019-06-02 00:44:31 +00:00
Rahul Frias
4690da2bcb Merge "Return key request type none after key rotation" into qt-dev
am: 999a466275

Change-Id: Ia0a19cf34deac3714ae35ff698dffce4d00ef616
2019-05-31 09:16:52 -07:00
Rahul Frias
999a466275 Merge "Return key request type none after key rotation" into qt-dev 2019-05-31 15:55:05 +00:00
Rahul Frias
785cd12f3c Merge "WvCdmExtendedDurationTest#VerifyLicenseRequestTest fixes" into qt-dev
am: e4d432806a

Change-Id: Ic326baeba34037e4c34e3c06717fc5fd901e01f1
2019-05-29 19:19:33 -07:00
Rahul Frias
e4d432806a Merge "WvCdmExtendedDurationTest#VerifyLicenseRequestTest fixes" into qt-dev 2019-05-30 02:06:42 +00:00
Rahul Frias
b7c6f9b52c Address request license test failures [ DO NOT MERGE ]
[ Merge of http://go/wvgerrit/79883 ]

This corrects test code and undoes CE CDM changes in b/113167010 which
will be resolved in a future release.

The tests failures addressed are
* ProvisioningTestWithServiceCertificate
* ReleaseRetryOfflineKeyTest
* ReleaseRetryL3OfflineKeyTest
* ReleaseRetryL3OfflineKeySessionUsageDisable

ProvisioningInterspersedRetryTest has been disabled and will be
addressed in a post 15.2 OEMCrypto release in 133641240

Bug: 119428680
Test: WV unit/integration tests
Change-Id: I7961b4556a0ac749e4f38d43f1bea8f520d67f20
2019-05-29 19:04:52 -07:00
Rahul Frias
3c9175fec5 Return key request type none after key rotation
[ Merge of http://go/wvgerrit/80084 ]

Corrected the key type being returned after entitled keys from
init data are loaded. Made test changes to validate.

Bug: 133903028
Test: WV unit/integration tests
Change-Id: Icb44587f5c3aba3b0facae6d83dc9344d6b60833
2019-05-29 19:03:43 -07:00
Srujan Gaddam
5f5cc2b634 Merge "Change move_widevine_data.sh to move L3 files" into qt-dev
am: f246f028b2

Change-Id: Ie11b5cab53bc0eae5259adea637c844db836c045
2019-05-24 14:18:22 -07:00
TreeHugger Robot
f246f028b2 Merge "Change move_widevine_data.sh to move L3 files" into qt-dev 2019-05-24 20:59:31 +00:00
Srujan Gaddam
4f63000ad7 Reverse LD_LIBRARY_PATH order based on liboemcrypto.so
am: 45d02c545c

Change-Id: I2e28abef3400773443df0bbb0f6392663bbd93a6
2019-05-24 12:28:52 -07:00