Relax neverallows for vendor to use /system/bin/sh

Since 202404, vendor components will use /system/bin/sh for system(3),
popen(3), etc.

Bug: 324142245
Test: system("readlink /proc/$$/exe") in vendor HALs
Change-Id: I521499678e87a7d0216a276e014888867f495803
This commit is contained in:
Jooyung Han 2024-02-15 13:18:40 +09:00
parent 37c4c7c500
commit f0ba322926
2 changed files with 13 additions and 1 deletions

View file

@ -913,6 +913,9 @@ full_treble_only(`
-crash_dump_exec
-netutils_wrapper_exec
userdebug_or_eng(`-tcpdump_exec')
# Vendor components still can invoke shell commands via /system/bin/sh
-shell_exec
-toolbox_exec
}:file { entrypoint execute execute_no_trans };
')
@ -993,6 +996,9 @@ full_treble_only(`
-task_profiles_api_file
-task_profiles_file
userdebug_or_eng(`-tcpdump_exec')
# Vendor components still can invoke shell commands via /system/bin/sh
-shell_exec
-toolbox_exec
}:file *;
')

View file

@ -85,7 +85,13 @@ neverallow {
halserverdomain
-hal_dumpstate_server
-hal_telephony_server
} { file_type fs_type }:file execute_no_trans;
} {
file_type
fs_type
# May invoke shell commands via /system/bin/sh
-shell_exec
-toolbox_exec
}:file execute_no_trans;
# Do not allow a process other than init to transition into a HAL domain.
neverallow { domain -init } halserverdomain:process transition;
# Only allow transitioning to a domain by running its executable. Do not