[CDM] Check for system calling UID when backing up and restoring data Bug: 370962373 Test: Manual test on POC Flag: EXEMPT bugfix (cherry picked from commit 692cddfb32abae6c77b00c4850fd36b7eaaf8c70) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:191638ababfc5b03d63264b8932c5903f18543ba) Merged-In: I307940b7194dd17eacbbfb8be5c92ac21e688c65 Change-Id: I307940b7194dd17eacbbfb8be5c92ac21e688c65
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 57eadf6..de060bd 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -724,11 +724,17 @@ @Override public byte[] getBackupPayload(int userId) { + if (getCallingUid() != SYSTEM_UID) { + throw new SecurityException("Caller must be system"); + } return mBackupRestoreProcessor.getBackupPayload(userId); } @Override public void applyRestoredPayload(byte[] payload, int userId) { + if (getCallingUid() != SYSTEM_UID) { + throw new SecurityException("Caller must be system"); + } mBackupRestoreProcessor.applyRestoredPayload(payload, userId); }