Adding in verification of calling UID in onShellCommand

Test: manual testing on device
Change-Id: I68903ebd6d3d85f4bc820b745e3233a448b62273
Bug: b/261709193
This commit is contained in:
Kunal Malhotra
2023-02-02 23:48:27 +00:00
parent 6e73eaf23c
commit b651d295b4

View File

@@ -9488,6 +9488,10 @@ public class ActivityManagerService extends IActivityManager.Stub
public void onShellCommand(FileDescriptor in, FileDescriptor out,
FileDescriptor err, String[] args, ShellCallback callback,
ResultReceiver resultReceiver) {
final int callingUid = Binder.getCallingUid();
if (callingUid != ROOT_UID && callingUid != Process.SHELL_UID) {
throw new SecurityException("Shell commands are only callable by root or shell");
}
(new ActivityManagerShellCommand(this, false)).exec(
this, in, out, err, args, callback, resultReceiver);
}