- Oct 23, 2018
-
-
Nick Kralevich authored
Update engine is responsible for updating various partitions, which includes enabling or disabling the read-only bit on the underlying block device. Rather than try to list out each block device separately, generalize the ioctl rules to apply to all block device nodes. If the ioctl permission is granted via a normal allow rule, then the allowxperm statement will allow BLKROGET and BLKROSET by default on those block devices. Test: policy compiles Bug: 118150702 Change-Id: I7bca52e0f442df7320748f6d6371e5016aa6dd0b
-
Nick Kralevich authored
vold needs to securely delete content from various block devices. Allow it. Addresses the following denials: type=1400 audit(0.0:66): avc: denied { ioctl } for comm="secdiscard" path="/dev/block/dm-3" dev="tmpfs" ino=17945 ioctlcmd=0x127d scontext=u:r:vold:s0 tcontext=u:object_r:dm_device:s0 tclass=blk_file permissive=0 type=1400 audit(0.0:43): avc: denied { ioctl } for comm="secdiscard" path="/dev/block/sda45" dev="tmpfs" ino=17485 ioctlcmd=127d scontext=u:r:vold:s0 tcontext=u:object_r:userdata_block_device:s0 tclass=blk_file permissive=0 Test: policy compiles. Change-Id: Ie7b4b8ac4698d9002a4e8d142d4e463f8d42899a
-
- Oct 22, 2018
-
-
Treehugger Robot authored
-
Treehugger Robot authored
-
Tri Vo authored
Bug: 118161817 Test: SANITIZE_TARGET=address m selinux_policy Change-Id: I4dabcb3692c59b810a06567e272bca9f0e9c3ecd
-
Joel Galenson authored
This prevents denials while taking a bugreport. Test: cts-tradefed run cts -m CtsSecurityHostTestCases -t android.security.cts.SELinuxHostTest#testNoBugreportDenials Change-Id: I381b39fa127f82fcef5d820a04209fd1ba4f63cd
-
Nick Kralevich authored
Allow BLKROGET and BLKROSET on the block devices underlying the /system and rootfs partitions. As part of the Android boot process, the system sets the block devices read-only to prevent accidental modification to these partitions. Update engine needs the ability to adjust the block device read-only flag in order to apply updates. Addresses the following denials: update_engine: type=1400 audit(0.0:96): avc: denied { ioctl } for path="/dev/block/sda33" dev="tmpfs" ino=15369 ioctlcmd=125e scontext=u:r:update_engine:s0 tcontext=u:object_r:system_block_device:s0 tclass=blk_file permissive=0 update_engine: type=1400 audit(0.0:97): avc: denied { ioctl } for path="/dev/block/sda33" dev="tmpfs" ino=15369 ioctlcmd=125d scontext=u:r:update_engine:s0 tcontext=u:object_r:system_block_device:s0 tclass=blk_file permissive=0 Test: policy compiles Bug: 118150702 Change-Id: I65a3d041b6d6b7955bcd901637a543524fc34a06
-
Treehugger Robot authored
-
Treehugger Robot authored
-
Nick Kralevich authored
system/sepolicy commit 4c8eaba7, reviewed in https://android-review.googlesource.com/c/platform/system/sepolicy/+/793958 started enforcing explicit ioctl permission checks for all block device files. As part of that commit, the following lines were added to domain.te: # If a domain has access to perform an ioctl on a block device, allow these # very common, benign ioctls allowxperm domain dev_type:blk_file ioctl { BLKGETSIZE64 BLKSSZGET }; In essence, if a domain is granted ioctl access to any device in policy (for example, via adding "ioctl" to the allow rule, or by using the macro "r_file_perms" which includes the ioctl permission), then the two ioctls BLKGETSIZE64 and BLKSSZGET will be automatically allowed. As such, it is redundent for a domain to explicitly request these two ioctls. Delete the now redundant allowxperm rule. Test: policy compiles Change-Id: I1964ed93a7c7601393cc9e2416f3640ea22db51b
-
- Oct 20, 2018
-
-
Tri Vo authored
-
- Oct 19, 2018
-
-
Treehugger Robot authored
-
Tri Vo authored
What changed: - Tightening neverallow forbidding vendor execution access in /system. In it's current form the neverallow is loose because not all executables have exec_type attribute, e.g. almost everything in /system/bin/. This change tightens up the neverallow by instead targeting system_file_type attribute, which must be applied to all files in /system. - Adding a general neverallow forbidding all access to files in /system (bar exceptions) TODOs: - Remove loopholes once Treble violations are fixed across all internal build targets. Bug: 111243627 Test: m selinux_policy; build-only change Change-Id: I150195756c0c3258904c3da0812bbd942ea2f229
-
Bill Yi authored
Change-Id: I19a9051a0ff3863db1be9ff706a8b31b1c151419
-
Tri Vo authored
-
Pavel Grafov authored
am: 10b250df Change-Id: I1bbfc88a988bb5519cbd91fb5dd0e6d212e42b39
-
Pavel Grafov authored
This reverts commit c855629e. Reason for revert: breaks builds for some devices in master Change-Id: I02c0967d6607ef0173b4188c06d2e781c3c93f4b
-
Nick Kralevich authored
am: 4c8eaba7 Change-Id: Ic97b8aafa7f6edcf54e08230905b34500fbe677e
-
Nick Kralevich authored
am: 2581761e Change-Id: I42e8156eddf6315ff13fe16ad8ed7bc550f31c40
-
Nick Kralevich authored
am: f5a1b1bf Change-Id: Idd4890670d766d71d4b2f6feb0066993ca079b90
-
Jiyong Park authored
am: ecc09871 Change-Id: I43f3d98669537d24879f3a734e2684968813e148
-
Zheng Zhang authored
am: a26763ec Change-Id: I7f4be177f11ec0211b492b74f2c342df50d2617f
-
Tri Vo authored
This change assumes that init need access to types, access to which was not audited. go/sedenials reports additional types needed by init: pmsg_device and tty_device. Bug: 110962171 Test: m selinux_policy Change-Id: I227956b2c12efeef68cbfa041b9604d4e4f9b967
-
- Oct 18, 2018
-
-
Nick Kralevich authored
Start enforcing the use of ioctl restrictions on all Android block devices. Domains which perform ioctls on block devices must be explicit about what ioctls they issue. The only ioctls allowed by default are BLKGETSIZE64, BLKSSZGET, FIOCLEX, and FIONCLEX. Test: device boots and no problems. Change-Id: I1195756b20cf2b50bede1eb04a48145a97a35867
-
Treehugger Robot authored
-
Nick Kralevich authored
Remove most of /proc/net access for priv_apps. Files in /proc/net leak unique device identifiers and side channel information about other app's network connections. Access for most third party applications was removed in commit d78e07cb. This change applies the same constraints to priv-apps that we apply to normal apps. Bug: 114475727 Bug: 9496886 Bug: 68016944 Test: policy compiles and device boots Change-Id: I5c41ba57fcd6b81d72c4f3a40b310d2188fc79c3
-
Nick Kralevich authored
Allow a process to determine if a fifo_file (aka pipe, created from the pipe() or pipe2() syscall) is a tty. Addresses the following denials: type=1400 audit(0.0:1307): avc: denied { ioctl } for comm="ls" path="pipe:[213117]" dev="pipefs" ino=213117 ioctlcmd=5401 scontext=u:r:hal_dumpstate_impl:s0 tcontext=u:r:hal_dumpstate_impl:s0 tclass=fifo_file permissive=0 type=1400 audit(0.0:22): avc: denied { ioctl } for comm="sh" path="pipe:[54971]" dev="pipefs" ino=54971 ioctlcmd=5401 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:r:untrusted_app_27:s0:c512,c768 tclass=fifo_file permissive=0 app=com.zhihu.android type=1400 audit(0.0:237): avc: denied { ioctl } for comm="sh" path="pipe:[56997]" dev="pipefs" ino=56997 ioctlcmd=5401 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=fifo_file permissive=0 app=fm.qingting.qtradio Test: policy compiles and device builds. Change-Id: Ic4c6441d0ec33de8cda3f13ff529e98374897364
-
Nick Kralevich authored
No functional change. This reorg just makes it easier to perform diffs against https://github.com/SELinuxProject/refpolicy/blob/master/policy/flask/access_vectors Test: policy builds. Change-Id: I10cf9547d57981c76ee7e76daa382bb504e36d0b
-
Tri Vo authored
-
Jiyong Park authored
apexd uses realpath(3) to ensure that the public key file that will use is under /system/etc/security/apex directory. In order to support it, allow apexd to getattr on apex_key_files. The canonicalization is required because the key name from APEX might be wrong. For example, if the key name from an APEX is '../../some/path' then apexd will use '/system/etc/security/apex/../../some/path' as the public key file, which is incorrect. Bug: 115721587 Test: m apex.test; m /apex/com.android.example.apex@1 exists Change-Id: I6dc5efa0de369f8497e4f6526e0164e2de589c67
-
Zheng Zhang authored
When running some apps in vendor partition, it report denials like: avc: denied { getattr } for comm="Binder:901_2" path="/vendor/operator/app/Wechat/Wechat.apk" dev="sde14" ino=1707 scontext=u:r:mediaserver:s0 tcontext=u:object_r:vendor_app_file:s0 tclass=file permissive=0
-
Nick Kralevich authored
am: afdcd959 Change-Id: Id2fe422a32a818648e7c31f27a5a894396061627
-
- Oct 17, 2018
-
-
Tri Vo authored
What changed: - Tightening neverallow forbidding vendor execution access in /system. In it's current form the neverallow is loose because not all executables have exec_type attribute, e.g. almost everything in /system/bin/. This change tightens up the neverallow by instead targeting system_file_type attribute, which must be applied to all files in /system. - Adding a general neverallow forbidding all access to files in /system (bar exceptions) TODOs: - Remove loopholes once Treble violations are fixed across all internal build targets. Bug: 111243627 Test: m selinux_policy; build-only change Change-Id: Ic8d71c8d139cad687ad7d7c9db7111240475f175
-
Treehugger Robot authored
-
Nick Kralevich authored
am: 5a7b8206 Change-Id: I753b83b0f59aa5ecec568ffb3cd11d88de99011c
-
Treehugger Robot authored
-
Nick Kralevich authored
am: a73f58ae Change-Id: I573c72eb0795862a498772e74cb7f230876fa914
-
Nick Kralevich authored
The ioctl number varies between MIPS devices and other devices. Test: policy compiles. Change-Id: I107ccd2eca626148d2573f51753ec433e20d6b74
-