Merge "Fix vulnerability in AttributionSource due to incorrect Binder call" into udc-dev

This commit is contained in:
Austin Borger
2023-02-24 01:17:40 +00:00
committed by Android (Google) Code Review

View File

@@ -155,6 +155,11 @@ public final class AttributionSource implements Parcelable {
AttributionSource(@NonNull Parcel in) {
this(AttributionSourceState.CREATOR.createFromParcel(in));
if (!Binder.isDirectlyHandlingTransaction()) {
throw new SecurityException("AttributionSource should be unparceled during a binder "
+ "transaction for proper verification.");
}
// Since we just unpacked this object as part of it transiting a Binder
// call, this is the perfect time to enforce that its UID and PID can be trusted
enforceCallingUidAndPid();