Skip to content
Snippets Groups Projects
  1. Feb 27, 2015
    • Nick Kralevich's avatar
      dontaudit clatd self:capability ipc_lock · b4c4424c
      Nick Kralevich authored
      clatd calls mmap(MAP_LOCKED) with a 1M buffer. MAP_LOCKED first checks
      capable(CAP_IPC_LOCK), and then checks to see the requested amount is
      under RLIMIT_MEMLOCK. The latter check succeeds. As a result, clatd
      does not need CAP_IPC_LOCK, so we suppress any denials we see
      from clatd asking for this capability.
      See https://android-review.googlesource.com/127940
      
      Suppresses the following denial:
        type=1400 audit(1424916750.163:7): avc: denied { ipc_lock } for pid=3458 comm="clatd" capability=14 scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=capability
      
      Change-Id: Ica108f66010dfc6a5431efa0b4e58f6a784672d1
      b4c4424c
  2. Feb 26, 2015
  3. Feb 25, 2015
    • Nick Kralevich's avatar
      allow kernel to use vold file descriptors · 9fe810b7
      Nick Kralevich authored
      Vold opens ASEC containsers on the sdcard, or OBB files from app's
      home directories, both of which are supplied by vold. We need to
      allow kernel threads to access those file descriptors.
      
      Addresses the following denial:
      
        loop0   : type=1400 audit(0.0:28): avc: denied { use } for path="/mnt/secure/asec/smdl1159865753.tmp.asec" dev="mmcblk1" ino=19 scontext=u:r:kernel:s0 tcontext=u:r:vold:s0 tclass=fd permissive=0
      
      Bug: 19516891
      Change-Id: I5a3607b48f5e0e504e4b3fcaec19152c3784f49d
      9fe810b7
    • Mohamad Ayyash's avatar
      fs_use: Enabled loading security xattrs for squashfs · ab4be88e
      Mohamad Ayyash authored
      
      Change-Id: Icfa4b2cac6a960ef47e928308e4c6c9bd797d180
      Signed-off-by: default avatarMohamad Ayyash <mkayyash@google.com>
      ab4be88e
    • Nick Kralevich's avatar
      Revert /proc/net related changes · 5cf3994d
      Nick Kralevich authored
      Revert the tightening of /proc/net access. These changes
      are causing a lot of denials, and I want additional time to
      figure out a better solution.
      
      Addresses the following denials (and many more):
      
        avc: denied { read } for comm="SyncAdapterThre" name="stats" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
        avc: denied { read } for comm="facebook.katana" name="iface_stat_fmt" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
        avc: denied { read } for comm="IntentService[C" name="if_inet6" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file
        avc: denied { read } for comm="dumpstate" name="iface_stat_all" dev="proc" ino=X scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file
      
      This reverts commit 0f0324cc
      and commit 99940d1a
      
      Bug: 9496886
      Bug: 19034637
      Change-Id: I436a6e3638ac9ed49afbee214e752fe2b0112868
      5cf3994d
    • Nick Kralevich's avatar
      su: don't auditallow service_manager for su · 28ddd104
      Nick Kralevich authored
      Addresses the following auditallow messages:
      
        avc: granted { find } for service=accessibility scontext=u:r:su:s0 tcontext=u:object_r:accessibility_service:s0 tclass=service_manager
        avc: granted { find } for service=activity scontext=u:r:su:s0 tcontext=u:object_r:activity_service:s0 tclass=service_manager
        avc: granted { find } for service=package scontext=u:r:su:s0 tcontext=u:object_r:package_service:s0 tclass=service_manager
        avc: granted { find } for service=user scontext=u:r:su:s0 tcontext=u:object_r:user_service:s0 tclass=service_manager
        avc: granted { find } for service=window scontext=u:r:su:s0 tcontext=u:object_r:window_service:s0 tclass=service_manager
      
      Change-Id: Ie58ad3347e9ef1aacd39670cfec7d095875e237b
      28ddd104
    • Nick Kralevich's avatar
      kernel: make kernel an mlstrustedsubject · 4308ce8c
      Nick Kralevich authored
      Addresses post-review comment in
      https://android-review.googlesource.com/130620
      
      Change-Id: I427ba99d63724eb526d41da47b95cc0ae038acdd
      4308ce8c
  4. Feb 24, 2015
  5. Feb 23, 2015
  6. Feb 20, 2015
    • Stephen Smalley's avatar
      sepolicy: allow cross-user unnamed pipe access · 7d1b6c87
      Stephen Smalley authored
      
      Exempt unnamed pipes from the MLS constraints so that they can
      be used for cross-user communications when passed over binder or
      local socket IPC.
      
      Addresses denials such as:
      avc: denied { read } for path="pipe:[59071]" dev="pipefs" ino=59071 scontext=u:r:untrusted_app:s0:c522,c768 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=fifo_file
      
      Bug: 19087939
      
      Change-Id: I77d494c4a38bf473fec05b728eaf253484deeaf8
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      7d1b6c87
  7. Feb 18, 2015
    • Sami Tolvanen's avatar
      Allow ueventd to set verity.* properties · 47cd53a5
      Sami Tolvanen authored
      On dm-verity errors, we catch uevents in ueventd and set the value
      for a matching verity.* property. Allow ueventd to actually change
      property values.
      
      Needed by changes from
        Ibb82953594d234f81ad21c40f524190b88e4ac8f
      
      Change-Id: I79bc90733edf8a45b27e64795f4adfbb3bc028dc
      47cd53a5
  8. Feb 13, 2015
    • Stephen Smalley's avatar
      checkseapp: Detect duplicate entries within seapp_contexts. · 0b820042
      Stephen Smalley authored
      
      Presently it only detects complete duplicates if you specify -s (strict),
      which is not used in the external/sepolicy Makefile, and it allows
      overriding earlier entries that have the same input selectors (e.g.
      user=, seinfo=) with different values for the output selectors (e.g.
      domain=, type=).  Thus, a device/<vendor>/<board>/sepolicy/seapp_contexts
      file can override the external/sepolicy definitions, and even a single
      seapp_contexts file can contain duplicated or conflicting definitions.
      
      Make it always check strictly, and prohibit either duplicates on the
      input selectors (i.e. overrides) or complete duplicates (redundant).
      
      Change-Id: Id1e38133cbe31b796253101cfe3b111d1826bc8c
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      0b820042
  9. Feb 12, 2015
    • dcashman's avatar
      Allow bluetooth surfaceflinger access. · 41d961a7
      dcashman authored
      Address the following denial:
      02-12 07:51:42.702: E/SELinux(158): avc:  denied  { find } for service=SurfaceFlinger scontext=u:r:bluetooth:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager
      
      which occurs when the remote service starts up.
      02-12 07:51:42.702: E/ServiceManager(158): find_service('SurfaceFlinger') uid=1002 - PERMISSION DENIED
      02-12 07:51:42.702: I/ServiceManager(2827): Waiting for service SurfaceFlinger...
      02-12 07:51:42.959: E/ActivityManager(469): ANR in com.google.android.remote.tv.services
      02-12 07:51:42.959: E/ActivityManager(469): PID: 2827
      02-12 07:51:42.959: E/ActivityManager(469): Reason: executing service com.google.android.tv.remote/.RemoteService
      
      Bug: 19268019
      Change-Id: I2d415c2ea2f70cf71851147253cf6e1906fd0940
      41d961a7
    • Nick Kralevich's avatar
      fix user builds. · 9ad26a7f
      Nick Kralevich authored
      14d5619a added a neverallow
      rule for System V IPC calls. Since this was still allowed
      for unconfined domains, this broke user builds.
      
      Remove System V IPC stuff from unconfined and fix the build.
      
      Change-Id: Iea66a9f97a90f8db496f6fa34b5e9642ee926fe6
      9ad26a7f
  10. Feb 11, 2015
    • Nick Kralevich's avatar
      3c985dd6
    • Nick Kralevich's avatar
      domain.te: neverallow System V IPC classes · 14d5619a
      Nick Kralevich authored
      Android doesn't want to support System V IPC classes.
      Ensure that it isn't supported by adding a neverallow rule
      (compile time assertion).
      
      Change-Id: I278d45960ee557917584f9137323b4cabfe140a9
      14d5619a
    • dcashman's avatar
      Allow bluetooth mediaserver_service access. · 895a4f2c
      dcashman authored
      This was observed when attempting to change volume for a bluetooth device
      supporting AVRCP volume control.
      
      Addresses the following denials:
      avc:  denied  { find } for service=media.audio_flinger scontext=u:r:bluetooth:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      avc:  denied  { find } for service=media.audio_policy scontext=u:r:bluetooth:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      
      Bug: 19341236
      Change-Id: If7f2ff1ea9fc694bad700cf59f400f2d2df8c2dd
      895a4f2c
    • Nick Kralevich's avatar
      fix "Unable to add user's profile photo id." · b8ef2b02
      Nick Kralevich authored
      Commit a833763b enabled per-user
      isolation, which requires that any files / processes which cross
      user boundaries be marked with the mlstrustedsubject attribute.
      
      system_app_data_file, used for storing a user's profile photos,
      is not marked as such. As a result, users are unable to add profile
      photos.
      
      Addresses the following denial:
      
        avc: denied { write } for path="/data/data/com.android.settings/cache/TakeEditUserPhoto2.jpg" dev="mmcblk0p28" ino=82184 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:system_app_data_file:s0 tclass=file
      
      Steps to reproduce:
      
        1.Flash & Factory the Deb device with tip-of-tree build
        2.Go to 'Settings-Users'
        3.Under users&profiles,click on Owner to add profile photo.
        4.Select 'Choose photo from Gallery' and select a photo.
        5.Then click the 'Done' button.
        6.Device showed the message as 'Unable to save the photo edits'.
      
      OBSERVED RESULTS:
        Unable to add user's profile photo id. This issue is coming for all
        users(Restricted user,second user)also.
      
      EXPECTED RESULTS:
        Device should allow to add profile photo id.
      
      Bug: 19170844
      Change-Id: If657dc09dd391e63ca85320f9cc1728580e51a15
      b8ef2b02
  11. Feb 10, 2015
  12. Feb 09, 2015
    • dcashman's avatar
      Allow bluetooth access to keystore service. · 0e30164b
      dcashman authored
      Address the following denial:
      SELinux : avc:  denied  { find } for service=android.security.keystore scontext=u:r:bluetooth:s0 tcontext=u:object_r:keystore_service:s0 tclass=service_manager
      
      Encountered when remote service attempts access:
      02-04 00:15:19.174 E/AndroidRuntime(10847): FATAL EXCEPTION: main
      02-04 00:15:19.174 E/AndroidRuntime(10847): Process: com.google.android.remote.tv.services, PID: 10847
      02-04 00:15:19.174 E/AndroidRuntime(10847): java.lang.RuntimeException: Unable to create service com.google.android.tv.remote.RemoteService: java.lang.NullPointerException: Attempt to invoke interface method 'int android.security.IKeystoreService.exist(java.lang.String, int)' on a null object reference
      02-04 00:15:19.174 E/AndroidRuntime(10847):         at android.app.ActivityThread.handleCreateService(ActivityThread.java:2801)
      
      Bug: 19268019
      Change-Id: I86f85cb19c5540bf041c82ec9a8088aacae67792
      0e30164b
  13. Feb 08, 2015
    • Nick Kralevich's avatar
      allow init fs_type:dir search · fcd86911
      Nick Kralevich authored
      We allow chmod/chown of files / directories by init, but don't allow
      init to search into subdirectories. Feels wrong.
      
      Addresses the following denial:
      
        avc:  denied  { search } for  pid=1 comm="init" name="/" dev="pstore" ino=5570 scontext=u:r:init:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1
      
      which results from the following init.rc statement:
      
        # pstore/ramoops previous console log
        mount pstore pstore /sys/fs/pstore
        chown system log /sys/fs/pstore/console-ramoops
        chmod 0440 /sys/fs/pstore/console-ramoops
        chown system log /sys/fs/pstore/pmsg-ramoops-0
        chmod 0440 /sys/fs/pstore/pmsg-ramoops-0
      
      Bug: 19050686
      Change-Id: I0528ecb17686891b66262de1f3c229cc68a56830
      fcd86911
  14. Feb 07, 2015
  15. Feb 06, 2015
  16. Feb 05, 2015
  17. Feb 04, 2015
    • Christopher Ferris's avatar
      Dumpstate runs the same from shell as service. · 5ec38c49
      Christopher Ferris authored
      Without this change, any selinux warning you might get when running
      dumpstate from init do not show up when running from the shell
      as root. This change makes them run the same.
      
      Change-Id: I6b74e0f6f48f47952a2dbe7728b1853008f60dbb
      5ec38c49
  18. Feb 02, 2015
    • dcashman's avatar
      Allow radio access to drmserver_service. · bba18381
      dcashman authored
      Address the following denial:
      SELinux  E  avc:  denied  { find } for service=drm.drmManager scontext=u:r:radio:s0 tcontext=u:object_r:drmserver_service:s0
      
      which occurs when a non-default SMS app sends an MMS. The message would be
      stored into system automatically in MMS service (from phone process and phone
      UID). The storing of the message involves the creation of
      android.drm.DrmManagerClient instance.
      
      Change-Id: Ic4e493f183c9ce7f7ac3f74f6ea062893ea67608
      bba18381
  19. Jan 30, 2015
    • Nick Kralevich's avatar
      Add compile time checks for /data/dalvik-cache access · 3c77d4d1
      Nick Kralevich authored
      Add an SELinux neverallow rule (compile time assertion) that only
      authorized SELinux domains are writing to files in /data/dalvik-cache.
      
      Currently, SELinux policy only allows the following SELinux domains
      to perform writes to files in /data/dalvik-cache
      
        * init
        * zygote
        * installd
        * dex2oat
      
      For zygote, installd, and dex2oat, these accesses make sense.
      
      For init, we could further restrict init to just relabelfrom
      on /data/dalvik-cache files, and { create, write, setattr }
      on /data/dalvik-cache directories. Currently init has full
      write access, which can be reduced over time.
      
      This change was motivated by the discussion
      in https://android-review.googlesource.com/127582
      
      Remove /data/dalvik-cache access from the unconfined domain.
      This domain is only used by init, kernel, and fsck on user builds.
      The kernel and fsck domains have no need to access files in
      /data/dalvik-cache. Init has a need to relabel files, but
      that rule is already granted in init.te.
      
      The neverallow rule is intended to prevent regressions. Neverallow
      rules are CTS tested, so regressions won't appear on our devices
      or partner devices.
      
      Change-Id: I15e7d17b1121c556463114d1c6c49557a57911cd
      3c77d4d1
    • Nick Kralevich's avatar
      system_server: neverallow dex2oat exec · 361cdaff
      Nick Kralevich authored
      system_server should never be executing dex2oat. This is either
      a bug (for example, bug 16317188), or represents an attempt by
      system server to dynamically load a dex file, something we don't
      want to allow.
      
      This change adds a compile time assertion which will detect
      if an allow rule granting this access is ever added.
      No new rules are added or deleted as a result of this change.
      This neverallow rule is automatically enforced via CTS.
      
      Bug: 16317188
      Change-Id: Id783e05d9f48d48642dbb89d9c78be4aae8af70c
      361cdaff
  20. Jan 29, 2015
    • Ruben Brunk's avatar
      Add security policy for ProcessInfoService. · db1320f5
      Ruben Brunk authored
      Bug: 19186859
      
      Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
      db1320f5
    • Nick Kralevich's avatar
      appdomain: relax netlink_socket neverallow rule · d31936f8
      Nick Kralevich authored
      Relax the neverallow netlink restrictions for app domains.
      In particular, some non-AOSP app domains may use netlink sockets
      to communicate with a kernel driver.
      
      Continue to neverallow generic netlink sockets for untrusted_app.
      The intention here is that only app domains which explicitly need
      this functionality should be able to request it.
      
      This change does not add or remove any SELinux rules. Rather, it
      just changes SELinux compile time assertions, as well as allowing
      this behavior in CTS.
      
      Modify other neverallow rules to use "domain" instead of "self".
      Apps shouldn't be able to handle netlink sockets, even those
      created in other SELinux domains.
      
      Change-Id: I40de0ae28134ce71e808e5ef4a39779b71897571
      d31936f8
Loading