Skip to content
Snippets Groups Projects
  1. Feb 25, 2015
  2. Feb 24, 2015
  3. Feb 23, 2015
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Feb 10, 2015
  10. 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
  11. 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
  12. Feb 07, 2015
  13. Feb 06, 2015
  14. Feb 05, 2015
  15. 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
  16. 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
  17. 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
  18. 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
  19. Jan 26, 2015
    • Nick Kralevich's avatar
      radio.te: make radio mlstrustedsubject · bfe4c8ba
      Nick Kralevich authored
      Messenger can't send MMSes on the master branch. When Messenger sends
      an MMS, it stores the message data in local file and publishes it
      via a content provider. The URI is passed to the MMS API. The
      MmsServiceBroker in system process gets the call and grant URI
      permission to phone UID. The MmsService in phone process (and sharing
      the phone UID) needs to read the URI to get message data to send.
      
      Addresses the following denial:
      
        type=1400 audit(0.0:32): avc: denied { read } for path="/data/data/com.google.android.apps.messaging/cache/rawmms/5394791820000274558.dat" dev="mmcblk0p28" ino=83180 scontext=u:r:radio:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      Change-Id: I2b694ff6c516714d3524e0613bae0f6773ed2e95
      bfe4c8ba
  20. Jan 24, 2015
    • dcashman's avatar
      Allow shell to find all services. · 5fef2de3
      dcashman authored
      dumpsys from shell results in many denials:
      11-08 02:52:13.087   171   171 E SELinux : avc:  denied  { find } for service=SurfaceFlinger scontext=u:r:shell:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager
      11-08 02:52:13.089   171   171 E SELinux : avc:  denied  { find } for service=android.security.keystore scontext=u:r:shell:s0 tcontext=u:object_r:keystore_service:s0 tclass=service_manager
      11-08 02:52:13.093   171   171 E SELinux : avc:  denied  { find } for service=batteryproperties scontext=u:r:shell:s0 tcontext=u:object_r:healthd_service:s0 tclass=service_manager
      11-08 02:52:13.103   171   171 E SELinux : avc:  denied  { find } for service=display.qservice scontext=u:r:shell:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager
      11-08 02:52:13.104   171   171 E SELinux : avc:  denied  { find } for service=drm.drmManager scontext=u:r:shell:s0 tcontext=u:object_r:drmserver_service:s0 tclass=service_manager
      11-08 02:52:13.113   171   171 E SELinux : avc:  denied  { find } for service=media.audio_flinger scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.113   171   171 E SELinux : avc:  denied  { find } for service=media.audio_policy scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.113   171   171 E SELinux : avc:  denied  { find } for service=media.camera scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.114   171   171 E SELinux : avc:  denied  { find } for service=media.player scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.114   171   171 E SELinux : avc:  denied  { find } for service=media.sound_trigger_hw scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.118   171   171 E SELinux : avc:  denied  { find } for service=nfc scontext=u:r:shell:s0 tcontext=u:object_r:nfc_service:s0 tclass=service_manager
      11-08 02:52:13.130   171   171 E SELinux : avc:  denied  { find } for service=SurfaceFlinger scontext=u:r:shell:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager
      11-08 02:52:13.379   171   171 E SELinux : avc:  denied  { find } for service=android.security.keystore scontext=u:r:shell:s0 tcontext=u:object_r:keystore_service:s0 tclass=service_manager
      11-08 02:52:13.388   171   171 E SELinux : avc:  denied  { find } for service=batteryproperties scontext=u:r:shell:s0 tcontext=u:object_r:healthd_service:s0 tclass=service_manager
      11-08 02:52:13.574   171   171 E SELinux : avc:  denied  { find } for service=display.qservice scontext=u:r:shell:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager
      11-08 02:52:13.576   171   171 E SELinux : avc:  denied  { find } for service=drm.drmManager scontext=u:r:shell:s0 tcontext=u:object_r:drmserver_service:s0 tclass=service_manager
      11-08 02:52:13.712   171   171 E SELinux : avc:  denied  { find } for service=media.audio_flinger scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.712   171   171 E SELinux : avc:  denied  { find } for service=media.audio_policy scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.713   171   171 E SELinux : avc:  denied  { find } for service=media.camera scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.713   171   171 E SELinux : avc:  denied  { find } for service=media.player scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      11-08 02:52:13.713   171   171 E SELinux : avc:  denied  { find } for service=media.sound_trigger_hw scontext=u:r:shell:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager
      
      Bug: 18799966
      Change-Id: Id2bf69230338ac9dd45dc5d70f419fa41056e4fc
      5fef2de3
  21. Jan 22, 2015
    • Nick Kralevich's avatar
      domain.te: allow /proc/net/psched access · 0f0324cc
      Nick Kralevich authored
      external/sepolicy commit 99940d1a
      (https://android-review.googlesource.com/123331) removed /proc/net
      access from domain.te.
      
      Around the same time, system/core commit
      9a20e67fa62c1e0e0080910deec4be82ebecc922
      (https://android-review.googlesource.com/123531) was checked in.
      This change added libnl as a dependency of libsysutils.
      
      external/libnl/lib/utils.c has a function called get_psched_settings(),
      which is annotated with __attribute__((constructor)). This code
      gets executed when the library is loaded, regardless of whether or
      not other libnl code is executed.
      
      By adding the libnl dependency, even code which doesn't use the
      network (such as vold and logd) ends up accessing /proc/net/psched.
      
      For now, allow this behavior. However, in the future, it would be
      better to break this dependency so the additional code isn't loaded
      into processes which don't need it.
      
      Addresses the following denials:
      
        avc: denied { read } for  pid=148 comm="logd" name="psched" dev="proc" ino=4026536508 scontext=u:r:logd:s0 tcontext=u:object_r:proc_net:s0 tclass=file permissive=0
        avc: denied { read } for pid=152 comm="vold" name="psched" dev="proc" ino=4026536508 scontext=u:r:vold:s0 tcontext=u:object_r:proc_net:s0 tclass=file permissive=0
        avc: denied { read } for pid=930 comm="wpa_supplicant" name="psched" dev="proc" ino=4026536508 scontext=u:r:wpa:s0 tcontext=u:object_r:proc_net:s0 tclass=file permissive=0
      
      Bug: 19079006
      Change-Id: I1b6d2c144534d3f70f0028ef54b470a75bace1cf
      0f0324cc
  22. Jan 21, 2015
Loading