Skip to content
Snippets Groups Projects
  1. Oct 23, 2018
    • Anton Hansson's avatar
      Add sepolicy for preloads_copy script · edd13bc3
      Anton Hansson authored
      Copied from device/google/crosshatch-sepolicy.
      
      Test: diff files in system/etc/selinux before and after for aosp_marlin
      Change-Id: I518c43af9c217483bdab02424e4aef0270aad366
      edd13bc3
  2. Oct 22, 2018
    • Treehugger Robot's avatar
    • Treehugger Robot's avatar
    • Tri Vo's avatar
      asan: restore global access to system_asan_options_file. · 3d2e200b
      Tri Vo authored
      Bug: 118161817
      Test: SANITIZE_TARGET=address m selinux_policy
      Change-Id: I4dabcb3692c59b810a06567e272bca9f0e9c3ecd
      3d2e200b
    • Joel Galenson's avatar
      Allow dumpstate to call mediaswcodec over binder · 33ded4a6
      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
      33ded4a6
    • Nick Kralevich's avatar
      update_engine_common: allow BLKROGET and BLKROSET · eacbcc98
      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
      eacbcc98
    • Treehugger Robot's avatar
      2779f92c
    • Treehugger Robot's avatar
      faba4312
    • Nick Kralevich's avatar
      fastbootd.te: Delete allowxperm statement · 392ac0fd
      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
      392ac0fd
  3. Oct 20, 2018
  4. Oct 19, 2018
  5. Oct 18, 2018
    • Nick Kralevich's avatar
      start enforcing ioctl restrictions on blk_file · 4c8eaba7
      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
      4c8eaba7
    • Treehugger Robot's avatar
      2581761e
    • Nick Kralevich's avatar
      priv_app: remove /proc/net access · dfc3c336
      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
      dfc3c336
    • Nick Kralevich's avatar
      Allow TCGETS on pipes (fifo_file) · 67900089
      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
      67900089
    • Nick Kralevich's avatar
      Move class bpf definition · f5a1b1bf
      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
      f5a1b1bf
    • Tri Vo's avatar
      a8131148
    • Jiyong Park's avatar
      Allow apexd to realpath(3) on apex_key_files · ecc09871
      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
      ecc09871
    • Zheng Zhang's avatar
      Allow mediaserver domain have getatrr perm on vendor_app_file · a26763ec
      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
      a26763ec
    • Nick Kralevich's avatar
      Merge "FIONCLEX: fix MIPS ioctl number" · 063068f8
      Nick Kralevich authored
      am: afdcd959
      
      Change-Id: Id2fe422a32a818648e7c31f27a5a894396061627
      063068f8
  6. Oct 17, 2018
    • Tri Vo's avatar
      Neverallow vendor code access to files on /system. · c855629e
      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
      c855629e
    • Treehugger Robot's avatar
      afdcd959
    • Nick Kralevich's avatar
      Merge "more ioctl work" · da8e03da
      Nick Kralevich authored
      am: 5a7b8206
      
      Change-Id: I753b83b0f59aa5ecec568ffb3cd11d88de99011c
      da8e03da
    • Treehugger Robot's avatar
      Merge "more ioctl work" · 5a7b8206
      Treehugger Robot authored
      5a7b8206
    • Nick Kralevich's avatar
      mediaprovider: add functionfs ioctl · f00935a5
      Nick Kralevich authored
      am: a73f58ae
      
      Change-Id: I573c72eb0795862a498772e74cb7f230876fa914
      f00935a5
    • Nick Kralevich's avatar
      FIONCLEX: fix MIPS ioctl number · 6bb05751
      Nick Kralevich authored
      The ioctl number varies between MIPS devices and other devices.
      
      Test: policy compiles.
      Change-Id: I107ccd2eca626148d2573f51753ec433e20d6b74
      6bb05751
    • Nick Kralevich's avatar
      more ioctl work · 8ee8e263
      Nick Kralevich authored
      Add a neverallow rule requiring fine-grain ioctl filtering for most file
      and socket object classes. Only chr_file and blk_file are excluded. The
      goal is to ensure that any file descriptor which supports ioctl commands
      uses a whitelist.
      
      Further refine the list of file / socket objects which require ioctl
      filtering. The previous ioctl filtering did not cover the following:
      
      1) ioctls on /proc/PID files
      2) ioctls on directories in /dev
      3) PDX unix domain sockets
      
      Add FIONCLEX to the list of globally safe ioctls. FIOCLEX and FIONCLEX
      are alternate, uncommon ways to set the O_CLOEXEC flag on a file
      descriptor, which is a harmless operation.
      
      Test: device boots and no problems.
      Change-Id: I6ba31fbe2f21935243a344d33d67238d72a8e618
      8ee8e263
Loading