- Jan 27, 2017
-
-
Alex Klyubin authored
This leaves only the existence of webview_zygote domain and its executable's webview_zygote_exec file label as public API. All other rules are implementation details of this domain's policy and are thus now private. Test: Device boots, with Multiproces WebView developer setting enabled, apps with WebView work fine. No new denials. Bug: 31364497 Change-Id: I179476c43a50863ee3b327fc5155847d992a040d
-
Badhri Jagan Sridharan authored
Bug: 31015010 cherry-pick from b6e4d4bd Test: checked for selinux denial msgs in the dmesg logs. Change-Id: I8285ea05162ea0d75459e873e5c2bad2dbc7e5ba
-
- Jan 26, 2017
-
-
Steven Moreland authored
Dumpstate needs the hwbinder_use permission in order to talk to hardware services. Bug: 34709307 Test: no denials submitting bugreport Change-Id: Ic51da5371cd346c0fa9fb3881a47adaf53c93566
-
Alex Klyubin authored
This leaves only the existence of zygote domain and its executable's zygote_exec file label as public API. All other rules are implementation details of this domain's policy and are thus now private. Test: Device boot, apps (untrusted_app, system_app, platform_app, priv_app) work fine. No new denials. Bug: 31364497 Change-Id: Ie37128531be841b89ecd602992d83d77e26533bc
-
Alex Klyubin authored
This leaves only the existence of appdomain attribute as public API. All other rules are implementation details of this attribute's policy and are thus now private. Test: Device boot, apps (untrusted_app, system_app, platform_app, priv_app) work fine. No new denials. Bug: 31364497 Change-Id: Ie22e35bad3307bb9918318c3d034f1433d51677f
-
Alex Klyubin authored
HAL clients should not be annotated with hal_x and haldomain. This may grant them too much access. Instead, the policy needed for using in-process HALs should be directly embedded into the client's domain rules. This partially reverts the moving of rules out of gatekeeperd in commit a9ce2086. Test: Set up PIN-protected secure lock screen, unlock screen, reboot, unlock. No SELinux denials in gatekeeperd or hal_gatekeeper*. Bug: 34715716 Change-Id: If87c865461580ff861e7e228a96d315d319e1765
-
Steven Moreland authored
- Added set_prop to shell so that you can set it from shell. - Added set_prop to sytem_app so that it can be updated in settings. Bug: 34256441 Test: can update prop from Settings and shell. nfc and lights work with ag/1833821 with persist.hal.binderization set to on and off. There are no additional selinux denials. Change-Id: I883ca489093c1d56b2efa725c58e6e3f3b81c3aa
-
William Roberts authored
Introduce the add_service() macro which wraps up add/find permissions for the source domain with a neverallow preventing others from adding it. Only a particular domain should add a particular service. Use the add_service() macro to automatically add a neverallow that prevents other domains from adding the service. mediadrmserver was adding services labeled mediaserver_service. Drop the add permission as it should just need the find permission. Additionally, the macro adds the { add find } permission which causes some existing neverallow's to assert. Adjust those neverallow's so "self" can always find. Test: compile and run on hikey and emulator. No new denials were found, and all services, where applicable, seem to be running OK. Change-Id: Ibbd2a5304edd5f8b877bc86852b0694732be993c Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jan 25, 2017
-
-
Alex Klyubin authored
HAL clients should not be annotated with hal_x and haldomain. This may grant them too much access. Instead, the policy needed for using in-process HALs should be directly embedded into the client's domain rules. This reverts the moving of rules out of mediadrmserver in commit c86f42b9. Test: YouTube videos play back, no mediadrmserver denials Bug: 34715716 Bug: 32815560 Change-Id: Ib57ef880bcc306c6e01f2c24c0f3a4298598eb9a
-
Hassan Shojania authored
Bug: 34559906 Test: Manual through the test app Change-Id: Ib69d4fe6b0e21f162f08cea061260c683e4b8c9b
-
Jeff Tinker authored
bug:32815560 Change-Id: I494141b47fcd2e7e0cc02aa58d8df9a222060b3f
-
Nick Kralevich authored
XAUTH based VPNs 1. IPSec XAUTH PSK 2. IPSec XAUTH RSA fail with the following error from racoon 01-24 16:46:05.583 18712 18712 W ip-up-vpn: type=1400 audit(0.0:390): avc: denied { ioctl } for path="socket:[954683]" dev="sockfs" ino=954683 ioctlcmd=891c scontext=u:r:racoon:s0 tcontext=u:r:racoon:s0 tclass=udp_socket permissive=0 "setenforce 0" on the device fixed the issue. Bug: 34690009 Test: Policy compiles Change-Id: Idc0d156ec32e7a9be3825c380c3cb0359fe4fabe
-
Ray Essick authored
reflect the change from "mediaanalytics" to "mediametrics" Also incorporates a broader access to the service -- e.g. anyone. This reflects that a number of metrics submissions come from application space and not only from our controlled, trusted media related processes. The metrics service (in another commit) checks on the source of any incoming metrics data and limits what is allowed from unprivileged clients. Bug: 34615027 Test: clean build, service running and accessible Change-Id: I657c343ea1faed536c3ee1940f1e7a178e813a42
-
Steven Moreland authored
Bug: 34366227 Test: passthrough services successfully found Change-Id: If2cad09edc42f01cc5a444229758ecdfe2017cf2
-
- Jan 24, 2017
-
-
Calin Juravle authored
This CLs adds SElinux policies necessary to compile secondary dex files. When an app loads secondary dex files via the base class loader the files will get reported to PM. During maintance mode PM will compile the secondary dex files which were used via the standard installd model (fork, exec, change uid and lower capabilities). What is needed: dexoptanalyzer - needs to read the dex file and the boot image in order to decide if we need to actually comppile. dex2oat - needs to be able to create *.oat files next to the secondary dex files. Test: devices boots compilation of secondary dex files works without selinux denials cmd package compile --secondary-dex -f -m speed com.google.android.gms Bug: 32871170 Change-Id: I038955b5bc9a72d49f6c24c1cb76276e0f53dc45
-
Steven Moreland authored
Allow update_verifier to load the boot_control_hal in passthrough mode. Test: update_verifier works, no denials Bug: 34656553 Change-Id: I5c20ce67c8f1fd195f2429dae497221514ed95a8
-
Steven Moreland authored
system_server needs the permissions to open the lights hal in the same process. Bug: 34634317 Test: can change brightness on marlin (tested on internal master) Change-Id: I11fe59b4ab32e13d6dad246f4e6c56951e051181
-
- Jan 23, 2017
-
-
Max Bires authored
This neverallow addition addresses the renaming of files in exploits in order to bypass denied permissions. An example of a similar use case of using mv to bypass permission denials appeared in a recent project zero ChromeOS exploit as one of the steps in the exploit chain. https://googleprojectzero.blogspot.com/2016/12/chrome-os-exploit-one-byte-overflow-and.html Additionally, vold and init both had permission sets that allowed them to rename, but neither of them seem to need it. Therefore the rename permission has also been removed from these two .te files. Test: The device boots successfully Change-Id: I07bbb58f058bf050f269b083e836c2c9a5bbad80
-
Josh Gao authored
auditallow this until we track down where the file is opened without O_APPEND. 01-23 08:02:12.272 555 555 W tombstoned: type=1400 audit(0.0:11480): avc: denied { write } for path="/data/anr/traces.txt" dev="sda35" ino=4669445 scontext=u:r:tombstoned:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file permissive=0 Bug: http://b/34193533 Test: mma Change-Id: I77b854dce06231232004432839ebd5aa963ef035
-
Clara Bayarri authored
Merged-In: Id2b849d7fa22989225066ebe487fc98d319743ea Bug: 34190490 Test: CTS in internal master Change-Id: I27ab62469f3a405c59eda1a2a249899e845bed56
-
- Jan 20, 2017
-
-
Steven Moreland authored
In order to dump hardware services using dumpsys, dumpsys needs to be able to talk to the hwservicemanager. Bug: 33382892 Test: dumpsys --hw works from unrooted shell Change-Id: I31f0982193991428da465507f93d50646cb38726
-
Alex Klyubin authored
In my commit f41d89eb I forgot to switch rild and gatekeeperd rules from explicitly associating these domains with the hal_telephony and hal_gatekeeper to using the hal_impl_domain macro. As a result, the recent commit a2519226 inadvertently revoked HwBinder access from rild and gatekeeperd. This commit fixes the issue by switching rild and gatekeeperd to the hal_impl_domain macro. Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute haldomain" now lists rild and gatekeeperd Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_telephony" still lists rild Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_gatekeeper" still lists gatekeeperd Bug: 34180936 Bug: 34470443 Change-Id: I7949556f58c36811205d5ea3ee78ea5708e95b45
-
Josh Gao authored
Fix the following denial: tombstoned: type=1400 audit(0.0:563): avc: denied { append } for path="/data/anr/traces.txt" dev="sda35" ino=679941 scontext=u:r:tombstoned:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file permissive=0 Bug: http://b/34472671 Test: mma Change-Id: Iab5fbaf50888aa0f195841cb7e718ff393e526dd
-
Alex Klyubin authored
Test: No change to SELinux policy Change-Id: I45d6d6ab0538b9d4768b922cfdc2c972272d0b18
-
William Roberts authored
wificond_service is not a system_server service, so drop the typeattribute. Provide find permission for system_server so it can still call wificond. Test: compile and run on emulator. Also check built policy to verify the permissions changes are as expected. system_server should have lost the add permissions on wificond_service. Most importantly this needs to be tested on a device with wificond. Change-Id: I6dd655a5ac1dbfef809b8759a86429557a7c1207 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
Nick Kralevich authored
As of https://android-review.googlesource.com/324092, ephemeral_app is now an appdomain, so places where both appdomain and ephemeral_app are granted the same set of rules can be deleted. Test: policy compiles. Change-Id: Ideee710ea47af7303e5eb3af1331653afa698415
-
Nick Kralevich authored
wificond is a system_server service used by wifi, wifi doesnt start now This reverts commit b68a0149. Change-Id: If958c852e5d8adf8e8d82346554d2d6b3e8306c9
-
Steven Moreland authored
/sys/class/leds is the standard location for linux files dealing with leds, however the exact contents of this directory is non-standard (hence the need for a hal). Bug: 32022100 Test: compiles and works for the subset of common files Change-Id: I7571d7267d5ed531c4cf95599d5f2acc22287ef4
-
- Jan 19, 2017
-
-
William Roberts authored
wificond_service is not a system_server service, so drop the typeattribute. Test: compile Change-Id: Ic212dd2c8bc897fbdc13ca33a9864ac8d4e68732 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
Jim Miller authored
This fixes a bug introduced in the HIDL port where fingerprint no longer notifies keystore of authentications. Test: keyguard, FingerprintDialog Fixes bug 34200870 Change-Id: I8b1aef9469ff4f4218573a6cde4c3a151512c226
-
Chad Brubaker authored
Ephemeral apps cannot open files from external storage, but can be given access to files via the file picker. Test: ACTION_OPEN_DOCUMENTS from an ephemeral app returns a readable fd. Change-Id: Ie21b64a9633eff258be254b9cd86f282db1509e8
-
Chad Brubaker authored
Ephemeral apps are still apps with very similar capabilities, it makes more sense to have them under appdomain and benefit from the shared state (and all the neverallow rules) than to try and dupplicate them and keep them in sync. This is an initial move, there are parts of ephemeral_app that still need to be locked down further and some parts of appdomain that should be pushed down into the various app domains. Test: Builds, ephemeral apps work without denials. Change-Id: I1526b2c2aa783a91fbf6543ac7f6d0d9906d70af
-
Josh Gao authored
Bug: http://b/30705528 Bug: http://b/34450704 Test: mma Change-Id: I315a52411232b6ff38d014a2e0fadb0bcfbc1f3f
-
Max Bires authored
After checking the auditallow logs for the rule being monitored, it's clear that the rule is not in use and can be removed. All unused rules should be removed, as they present needless additional attack vectors. Test: The device boots. Change-Id: Ie9e060c4d134212e01309a536ac052851e408320
-
- Jan 18, 2017
-
-
Max Bires authored
There were some auditallow rules left around in rild.te that had logs showing nothing was triggering them. Thus the rules they were auditing could be removed, as that's clear indication there's no use for them. Having rules around that aren't being used does nothing except increase attack surface and bloat sepolicy, and so should always be removed if possible. Test: The device boots Change-Id: I906ffc493807fbae90593548d478643cda4864eb
-
mukesh agrawal authored
Revise policy, to allow init and system_server to configure, clear, and read kernel trace events. This will enable us to debug certain WiFi failures. Note that system_server is restricted to only accessing a wifi-specific trace instance. (Hence, system_server is not allowed to interfere with atrace.) Moreover, even for the wifi trace instance, system_server is granted limited permissions. (system_server can not, e.g., change which events are traced.) Note also that init and system_server are only granted these powers on userdebug or eng builds. The init.te and system_server.te changes resolve the following denials: // Denials when wifi-events.rc configures tracing { write } for pid=1 comm="init" name="instances" dev="debugfs" ino=755 scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { add_name } for pid=1 comm="init" name="wifi" scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { create } for pid=1 comm="init" name="wifi" scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { write } for pid=1 comm="init" name="tracing_on" dev="debugfs" ino=18067 scontext=u:r:init:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { write } for pid=1 comm="init" name="buffer_size_kb" dev="debugfs" ino=18061 scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=file permissive=1 // Denials when system_server sets up fail-safe // (auto-terminate tracing if system_server dies) { search } for pid=882 comm="system_server" name="instances" dev="debugfs" ino=755 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { read } for pid=882 comm="system_server" name="free_buffer" dev="debugfs" ino=18063 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=882 comm="system_server" path="/sys/kernel/debug/tracing/instances/wifi/free_buffer" dev="debugfs" ino=18063 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=882 comm="system_server" path="/sys/kernel/debug/tracing/instances/wifi/free_buffer" dev="debugfs" ino=18063 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 // Denials when system_server toggles tracing on or off // (WifiStateMachine is a thread in system_server) { search } for pid=989 comm="WifiStateMachin" name="instances" dev="debugfs" ino=755 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { write } for pid=989 comm="WifiStateMachin" name="tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { write } for pid=989 comm="WifiStateMachin" name="tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 // Denials when system_server reads the event trace // (This happens in response to a dumpsys request) { search } for pid=3537 comm="Binder:882_B" name="instances" dev="debugfs" ino=755 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { read } for pid=3537 comm="Binder:882_B" name="trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=3537 comm="Binder:882_B" path="/sys/kernel/debug/tracing/instances/wifi/trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=3537 comm="Binder:882_B" path="/sys/kernel/debug/tracing/instances/wifi/trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { write } for pid=3537 comm="Binder:882_B" name="trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 Bug: 27254565 Test: manual Manual test: - Build this CL along with CL:322337 - Verify that system boots, and that we can connect to GoogleGuest. (Testing of actual trace functionality with require some more patches in frameworks/opt/net/wifi.) $ adb root && adb shell dmesg | egrep 'avc: denied.+debugfs' Change-Id: Ib6eb4116549277f85bd510d25fb30200f1752f4d
-
Josh Gao authored
Replace the global debuggerd with a per-process debugging helper that gets exec'ed by the process that crashed. Bug: http://b/30705528 Test: crasher/crasher64, `debuggerd <pid>`, `kill -ABRT <pid>` Change-Id: Iad1b7478f7a4e2690720db4b066417d8b66834ed
-
Eino-Ville Talvala authored
- Allow cameraservice to talk to hwbinder, hwservicemanager - Allow hal_camera to talk to the same interfaces as cameraservice Test: Compiles, confirmed that cameraservice can call hwservicemanager Bug: 32991422 Change-Id: Ied0a3f5f7149e29c468a13887510c78d555dcb2a
-
Jin Qian authored
New procfs file read by storaged to dump fg/bg IO usage. Remove kmsg rule since it's no longer used by storaged. Allow storaged to find permission_service to translate UID to package name. Test: adb shell storaged -u Bug: 34198239 Change-Id: I74654662c75571cbe166cf2b8cbab84828218cbd
-
Steven Moreland authored
All hals need to use hwbinder. Test: no additional denials Bug: 34180936 Change-Id: Ie92cdbd79fc75062c4afa4cda53cb57ccde7e370
-