Skip to content
Snippets Groups Projects
  1. Apr 04, 2017
    • Ningyuan Wang's avatar
      Allow wificond to find permission · 9282ef6b
      Ningyuan Wang authored
      This is used for wificond to check if it is allowed to dump logs.
      
      Bug: 31336376
      Test: compile, manual test
      Change-Id: I8a1b681255398f9a1f2cf79fd0891e58283aa747
      9282ef6b
  2. Apr 03, 2017
    • Jeff Vander Stoep's avatar
      adbd/shell: grant access to sepolicy for cts · 892d1e40
      Jeff Vander Stoep authored
      Test: Test: make cts && \
            cts-tradefed run singleCommand cts --skip-device-info \
            --skip-preconditions --skip-connectivity-check --abi arm64-v8a \
            --module CtsSecurityHostTestCases \
            -t android.security.cts.SELinuxHostTest#testNoExemptionsForBinderInVendorBan
            Fails as expected.
      Bug: 36002573
      
      Change-Id: I298c526789b25734d5f18666c64497e5d1e181d0
      892d1e40
    • Martijn Coenen's avatar
      Add target for vndservice_contexts. · 6676c234
      Martijn Coenen authored
      So we can limit vndservicemanager access to
      just vndservice_contexts.
      
      Bug: 36052864
      Test: servicemanager,vndservicemanager work
      Change-Id: I7b132d4f616ba1edd0daf7be750d4b7174c4e188
      6676c234
    • Ningyuan Wang's avatar
      Remove unused wificond sepolicy for dropping privileges · 9576785d
      Ningyuan Wang authored
      Bug: 36855921
      Test: compile, wifi works with toggling
      Change-Id: Ib0819a2d552472e482e192a69530441cfc2c0fd7
      9576785d
  3. Apr 01, 2017
    • Jeff Vander Stoep's avatar
      Ban core components from accessing vendor data types · 50563c03
      Jeff Vander Stoep authored
      Vendor and system components are only allowed to share files by
      passing open FDs over HIDL. Ban all directory access and all file
      accesses other than what can be applied to an open FD such as
      ioctl/stat/read/write/append.
      
      This commit asserts that core components marked with attribute
      coredomain may only access core data types marked with attribute
      core_data_file_type.
      
      A temporary exemption is granted to domains that currently rely on
      access.
      
      (cherry picked from commit cd97e710)
      
      Bug: 34980020
      Test: build Marlin policy
      Change-Id: I2f0442f2628fbac1f2f7aa5ddf2a13e16b2546cc
      50563c03
    • Ningyuan Wang's avatar
      Remove unused wificond sepolicy privilges · f3443ee7
      Ningyuan Wang authored
      Bug: 33239267
      Test: compile, run wifi, no selinux complaint for wificond
      Change-Id: I9b3e874381ac6cd7c6ff1058cc4f313bd85481b8
      f3443ee7
  4. Mar 31, 2017
    • Tom Cherry's avatar
      Grant vdc access to kmsg · e9614833
      Tom Cherry authored
      Init is no longer calling vdc with logwrapper, so it must take care of
      logging to kmsg directly.
      
      avc: denied { write } for pid=367 comm="vdc" name="kmsg" dev="tmpfs" ino=11056 scontext=u:r:vdc:s0 tcontext=u:object_r:kmsg_device:s0 tclass=chr_file permissive=0
      
      Bug: 36278706
      Test: observe vdc logging in kmsg on boot and stderr on normal usage
      
      (cherry picked from commit bc4d3630)
      
      Change-Id: Id7bc2fa87518aa0678c09495267c9e198ca8c968
      e9614833
    • Shubang's avatar
      Add sepolicy for tv.input · c76e158c
      Shubang authored
      Test: build, flash; adb shell lshal
      Bug: 36562029
      Change-Id: If8f6d8dbd99d31e6627fa4b7c1fd4faea3b75cf2
      c76e158c
    • Jeff Vander Stoep's avatar
      domain: grant all domains access to zoneinfo · 5aebe512
      Jeff Vander Stoep authored
      /data/misc/zoneinfo is provided by libc and is considered to be
      VNDK stable. Grant read access to all domains and exempt from
      neverallow rules asserting no vendor access to core data types.
      
      Bug: 36730929
      Test: Marlin Policy builds
      Change-Id: I13766a661d6314f5393639fc20f1ab55d802f35f
      5aebe512
    • Alex Klyubin's avatar
      Tighten restrictions on core <-> vendor socket comms · 2f6151ea
      Alex Klyubin authored
      This futher restricts neverallows for sockets which may be exposed as
      filesystem nodes. This is achieved by labelling all such sockets
      created by core/non-vendor domains using the new coredomain_socket
      attribute, and then adding neverallow rules targeting that attribute.
      
      This has now effect on what domains are permitted to do. This only
      changes neverallow rules.
      
      Test: mmm system/sepolicy
      Bug: 36577153
      
      (cherry picked from commit cf2ffdf0)
      
      Change-Id: Iffeee571a2ff61fb9515fa6849d060649636524e
      2f6151ea
    • Daniel Nicoara's avatar
      VR: Add sepolicy for VR HWC service · 6907e39a
      Daniel Nicoara authored
      VR HWC is being split out of VR Window Manager. It creates a HW binder
      interface used by SurfaceFlinger which implements the HWComposer HAL and
      a regular binder interface which will be used by a system app to receive
      the SurfaceFlinger output.
      
      Bug: b/36051907
      Test: Ran in permissive mode and ensured no permission errors show in
      logcat.
      
      Change-Id: If1360bc8fa339a80100124c4e89e69c64b29d2ae
      6907e39a
  5. Mar 30, 2017
    • Chad Brubaker's avatar
      Further lock down access to services from ephemeral apps · 7d01a99a
      Chad Brubaker authored
      This removes access to
      * contexthub_service
      * device_policy_service
      * ethernet_service
      * fingerprint_service
      * shortcut_service
      * trust_service
      * usb_service
      
      Test: cts-tradefed run commandAndExit cts-dev -m
      CtsAppSecurityHostTestCases -t
      android.appsecurity.cts.EphemeralTest
      Bug: 33349998
      
      Change-Id: Iad9302041d7674ae6ebeb1c559c64d13df62c304
      7d01a99a
    • Mathias Agopian's avatar
      update sepolicy for gralloc HAL · 9901ff7c
      Mathias Agopian authored
      the list to update was determined by looking
      at who currently has access to surfaceflinger
      for ipc and FD use.
      
      Test: try some media stuff
      Bug: 36333314
      Change-Id: I474d0c44f8cb3868aad7a64e5a3640cf212d264d
      9901ff7c
    • Jeff Vander Stoep's avatar
      runas: Grant access to seapp_contexts_file · 7d6185fe
      Jeff Vander Stoep authored
      Runas/libselinux needs access to seapp_contexts_file to determine
      transitions into app domains.
      
      Addresses:
      avc: denied { read } for pid=7154 comm="run-as" name="plat_seapp_contexts"
      dev="rootfs" ino=9827 scontext=u:r:runas:s0
      tcontext=u:object_r:seapp_contexts_file:s0 tclass=file
      
      Bug: 36782586
      Test: Marlin policy builds
      Change-Id: I0f0e937e56721d458e250d48ce62f80e3694900f
      7d6185fe
    • Alex Klyubin's avatar
      Further restrict access to Binder services from vendor · 0052bc69
      Alex Klyubin authored
      This tightens neverallows for looking up Binder servicemanager
      services from vendor components. In particular, vendor components,
      other than apps, are not permitted to look up any Binder services.
      Vendor apps are permitted to look up only stable public API services
      which is exactly what non-vendor apps are permitted to use as well.
      If we permitted vendor apps to use non-stable/hidden Binder services,
      they might break when core components get updated without updating
      vendor components.
      
      Test: mmm system/sepolicy
      Bug: 35870313
      
      Change-Id: I47d40d5d42cf4205d9e4e5e5f9d0794104efc28f
      0052bc69
    • Myles Watson's avatar
      Disallow HAL access to Bluetooth data files · 1317b4ca
      Myles Watson authored
      Devices that store their BT MAC address in /data/misc/bluedroid/ need
      to find another place for that file.
      
      Bug: 36602160
      Test: Restart Bluetooth, check for selinux denials/files in /data/misc
      Change-Id: Ib8d610f201a8c35f95b464c24857c6639205bc66
      1317b4ca
    • Ian Pedowitz's avatar
      Revert "Further restrict access to Binder services from vendor" · 43b48045
      Ian Pedowitz authored
      This reverts commit 5c09d123.
      
      Broke the build
      
      Bug: 35870313
      Test: source build/envsetup.sh && lunch marlin-userdebug && m -j40
      Change-Id: I71c968be6e89462fd286be5663933552d478f8bf
      43b48045
  6. Mar 29, 2017
    • Alex Klyubin's avatar
      Further restrict access to Binder services from vendor · 5c09d123
      Alex Klyubin authored
      This tightens neverallows for looking up Binder servicemanager
      services from vendor components. In particular, vendor components,
      other than apps, are not permitted to look up any Binder services.
      Vendor apps are permitted to look up only stable public API services
      which is exactly what non-vendor apps are permitted to use as well.
      If we permitted vendor apps to use non-stable/hidden Binder services,
      they might break when core components get updated without updating
      vendor components.
      
      Test: mmm system/sepolicy
      Bug: 35870313
      Change-Id: I949d62b3528cadb4bfe6f5985c25d1f497df0d5a
      5c09d123
    • Roshan Pius's avatar
      sepolicy: Add new wifi keystore HAL · 9af7c95f
      Roshan Pius authored
      Moving the wpa_supplicant interaction from the binder keystore service
      to the new wifi keystore HAL.
      
      Denials addressed:
      03-29 00:04:52.075   734   734 E SELinux : avc:  denied  { get } for
      pid=638 uid=1010 scontext=u:r:hal_wifi_keystore_default:s0
      tcontext=u:r:keystore:s0 tclass=keystore_key
      
      Bug: 34603782
      Test: Able to connect to wifi passpoint networks. Denials no longer
      seen.
      Change-Id: I97eb9a4aa9968056a2f1fcc7ce5509ceb62fd41e
      9af7c95f
    • Alex Klyubin's avatar
      tee domain is a vendor domain · 0f6c047d
      Alex Klyubin authored
      As a result, Keymaster and DRM HALs are permitted to talk to tee domain
      over sockets. Unfortunately, the tee domain needs to remain on the
      exemptions list because drmserver, mediaserver, and surfaceflinger are
      currently permitted to talk to this domain over sockets.
      
      We need to figure out why global policy even defines a TEE domain...
      
      Test: mmm system/sepolicy
      Bug: 36601092
      Bug: 36601602
      Bug: 36714625
      Bug: 36715266
      Change-Id: I0b95e23361204bd046ae5ad22f9f953c810c1895
      0f6c047d
    • Alex Klyubin's avatar
      Loosen system app data neverallows · f2e07765
      Alex Klyubin authored
      We don't want to prevent access from vendor platform apps to system app
      data. The issue with the referencing system_app explicitly in
      neverallows is that vendor platform apps which need sandboxes similar to
      system_app cannot be placed under system_app without modifying the
      policy for all platform apps.
      
      Test: mmm system/sepolicy
      Change-Id: Ic0052602c31be4d74b02eeea129e2d8bfbd9c8d3
      f2e07765
    • Andy Hung's avatar
      Allow MediaExtractor to create FileSource · 1c98fbf8
      Andy Hung authored
      W Binder:538_2: type=1400 audit(0.0:9): avc: denied { getattr } for path="/data/media/0/Qtc88.mp4" dev="dm-0" ino=678654 scontext=u:r:mediaextractor:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=0
      
      W generic : type=1400 audit(0.0:9): avc: denied { read } for path="/data/media/0/Qtc88.mp4" dev="dm-0" ino=678654 scontext=u:r:mediaextractor:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file permissive=0
      
      Test: Photos, Play Music, Play Movies, Youtube
      Bug: 29125703
      Change-Id: If84ab43b934944abf4c416db751ab6694835df83
      1c98fbf8
    • Sandeep Patil's avatar
      mac_permissions: explicitly label all mac_permissions files · bb24f3ab
      Sandeep Patil authored
      
      *mac_permissions.xml files need to be explicitly labeled as they are now split
      cross system and vendor and won't have the generic world readable
      'system_file' or 'rootfs' label.
      
      Bug: 36003167
      Test: no new 'mac_perms_file' denials at boot complete on sailfish
      Test: successfully booted into recovery without denials and sideloaded
            OTA update.
      Test: Launch 'chrome' and succesfully load a website.
      Test: Launch Camera and take a picture.
      Test: Launch Camera and record a video, succesfully playback recorded
            video
      
      Change-Id: I1c882872bb78d1242ba273756ef0dc27487f58fc
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      bb24f3ab
    • Sandeep Patil's avatar
      sepolicy: explicitly label all sepolicy files · 136caa1b
      Sandeep Patil authored
      
      sepolicy files need to be explicitly labeled as they are now split
      cross system and vendor and won't have the generic world readable
      'system_file' or 'rootfs' label.
      
      Bug: 36527360
      Test: no new 'sepolicy_file' denials at boot complete on sailfish
      Test: successfully booted into recovery without denials and sideloaded
            OTA update.
      Test: Launch 'chrome' and succesfully load a website.
      Test: Launch Camera and take a picture.
      Test: Launch Camera and record a video, succesfully playback recorded
            video
      
      Change-Id: I6fe8ba31588c2d75521c6e2b0bf7e6d6eaf80a19
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      136caa1b
    • Sandeep Patil's avatar
      seapp_context: explicitly label all seapp context files · 1e149967
      Sandeep Patil authored
      
      seapp_context files need to be explicitly labeled as they are now split
      cross system and vendor and won't have the generic world readable
      'system_file' label.
      
      Bug: 36002414
      Test: no new 'seapp_context' denials at boot complete on sailfish
      Test: successfully booted into recovery without denials and sideloaded
            OTA update.
      Test: ./cts-tradefed run singleCommand cts --skip-device-info \
            --skip-preconditions --skip-connectivity-check --abi \
            arm64-v8a --module CtsSecurityHostTestCases -t \
            android.security.cts.SELinuxHostTest#testAospSeappContexts
      Test: Launch 'chrome' and succesfully load a website.
      Test: Launch Camera and take a picture.
      Test: Launch Camera and record a video, succesfully playback recorded
            video
      
      Change-Id: I19b3e50c6a7c292713d3e56ef0448acf6e4270f7
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      1e149967
    • Sandeep Patil's avatar
      file_context: explicitly label all file context files · c9cf7361
      Sandeep Patil authored
      
      file_context files need to be explicitly labeled as they are now split
      across system and vendor and won't have the generic world readable
      'system_file' label.
      
      Bug: 36002414
      Test: no new 'file_context' denials at boot complete on sailfish
      Test: successfully booted into recovery without denials and sideloaded
      OTA update.
      Test: ./cts-tradefed run singleCommand cts --skip-device-info \
             --skip-preconditions --skip-connectivity-check --abi \
             arm64-v8a --module CtsSecurityHostTestCases -t \
             android.security.cts.SELinuxHostTest#testAospFileContexts
      
      Change-Id: I603157e9fa7d1de3679d41e343de397631666273
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      c9cf7361
    • Sandeep Patil's avatar
      service_contexts: label service_contexts explicitly · 939d16b5
      Sandeep Patil authored
      
      The label applies to all service_contexts regardless of their location.
      This also lets us track the service_contexts usage and limit access to
      the files for the corresponding object manager alone.
      
      Bug: 36002427
      Test: Boot sailfish and observe no denials for 'serice_contexts'
      Test: cts-tradefed run singleCommand cts --skip-device-info \
                --skip-preconditions --skip-connectivity-check \
                --abi arm64-v8a --module CtsSecurityHostTestCases \
                -t android.security.cts.SELinuxHostTest#testAospServiceContexts
      
      Change-Id: I97fc8b24bc99ca5c00d010fb522cd39a35572858
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      939d16b5
    • Sandeep Patil's avatar
      prop_context: correctly label all property_context files · 54a42001
      Sandeep Patil authored
      
      split property context file in vendor and sytem were left untouched by
      the recent changes. This was working accidentally because they were
      still accessible to all domains as 'system_file'.
      
      Bug: 36002573
      Test: Boot sailfish to observe no new denials.
      Test: 'adb sideload' OTA on sailfish successfully
      
      Change-Id: I5bec058b59db83d2a431e9f7e91c5a09af7d2942
      Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
      54a42001
    • Alex Klyubin's avatar
      Fix warnings · edc53291
      Alex Klyubin authored
      Unescaped apostrophe is not permitted inside macros.
      
      Test: mmm system/sepolicy -- no warnings
      Bug: 34980020
      Change-Id: I893a41508d8b62975771967fd6e40e50d188c7c1
      edc53291
  7. Mar 28, 2017
    • Jeff Vander Stoep's avatar
      Ban vendor components access to core data types · 4a478c47
      Jeff Vander Stoep authored
      Vendor and system components are only allowed to share files by
      passing open FDs over HIDL. Ban all directory access and all file
      accesses other than what can be applied to an open file:
      stat/read/write/append.
      
      This commit marks core data types as core_data_file_type and bans
      access to non-core domains with an exemption for apps. A temporary
      exemption is also granted to domains that currently rely on
      access with TODOs and bug number for each exemption.
      
      Bug: 34980020
      Test: Build and boot Marlin. Make phone call, watch youtube video.
            No new denials observed.
      Change-Id: I320dd30f9f0a5bf2f9bb218776b4bccdb529b197
      4a478c47
  8. Mar 27, 2017
    • Alex Klyubin's avatar
      Allow violators of "no Binder in vendor" access to /dev/binder · 2ab99a13
      Alex Klyubin authored
      In f5446eb1 I forgot to let violators
      of "no Binder in vendor" rule keep their access to /dev/binder. This
      commit fixes the issue.
      
      Test: mmm system/sepolicy
      Bug: 35870313
      Bug: 36657020
      Change-Id: I3fc68df1d78e2a2da94ac9bf036a51923e3a9aae
      2ab99a13
    • Alex Klyubin's avatar
      Ban socket connections between core and vendor · 2746ae68
      Alex Klyubin authored
      On PRODUCT_FULL_TREBLE devices, non-vendor domains (coredomain) and
      vendor domain are not permitted to connect to each other's sockets.
      There are two main exceptions: (1) apps are permitted to talk to other
      apps over Unix domain sockets (this is public API in Android
      framework), and (2) domains with network access (netdomain) are
      permitted to connect to netd.
      
      This commit thus:
      * adds neverallow rules restricting socket connection establishment,
      * temporarily exempts the domains which are currently violating this
        rule from this restriction. These domains are grouped using the new
        "socket_between_core_and_vendor_violators" attribute. The attribute
        is needed because the types corresponding to violators are not
        exposed to the public policy where the neverallow rules are.
      
      Test: mmm system/sepolicy
      Bug: 36613996
      Change-Id: I458f5a09a964b06ad2bddb52538ec3a15758b003
      2746ae68
  9. Mar 26, 2017
    • Jeff Sharkey's avatar
      Grant kernel access to new "virtual_disk" file. · 3f724c95
      Jeff Sharkey authored
      This is a special file that can be mounted as a loopback device to
      exercise adoptable storage code on devices that don't have valid
      physical media.  For example, they may only support storage media
      through a USB OTG port that is being used for an adb connection.
      
      avc: denied { read } for path="/data/misc/vold/virtual_disk" dev="sda35" ino=508695 scontext=u:r:kernel:s0 tcontext=u:object_r:vold_data_file:s0 tclass=file permissive=0
      
      Bug: 34903607
      Change-Id: I84721ec0e9495189a7d850461875df1839826212
      3f724c95
    • Jeff Sharkey's avatar
      Define policy for "loop-control" device. · a8e0f76c
      Jeff Sharkey authored
      Per loop(4), this device is the preferred way of allocating new
      loop devices since Linux 3.1.
      
      avc: denied { read write } for name="loop-control" dev="tmpfs" ino=15221 scontext=u:r:vold:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=0
      
      Bug: 34903607
      Change-Id: I1f5f62cf0a1c24c6f6453100004812af4b8e1503
      a8e0f76c
  10. Mar 25, 2017
  11. Mar 24, 2017
    • Alex Klyubin's avatar
      Mark all clients of Allocator HAL · 7cda44f4
      Alex Klyubin authored
      This change associates all domains which are clients of Allocator HAL
      with hal_allocator_client and the, required for all HAL client
      domains, halclientdomain.
      
      This enables this commit to remove the now unnecessary hwallocator_use
      macro because its binder_call(..., hal_allocator_server) is covered by
      binder_call(hal_allocator_client, hal_allocator_server) added in this
      commit.
      
      Unfortunately apps, except isolated app, are clients of Allocator HAL
      as well. This makes it hard to use the hal_client_domain(...,
      hal_allocator) macro because it translates into "typeattribute" which
      currently does not support being provided with a set of types, such as
      { appdomain -isolated_app }. As a workaround, hopefully until
      typeattribute is improved, this commit expresses the necessary
      association operation in CIL. private/technical_debt.cil introduced by
      this commit is appended into the platform policy CIL file, thus
      ensuring that the hack has effect on the final monolithic policy.
      
      P. S. This change also removes Allocator HAL access from isolated_app.
      Isolated app shouldn't have access to this HAL anyway.
      
      Test: Google Play Music plays back radios
      Test: Google Camera records video with sound and that video is then
            successfully played back with sound
      Test: YouTube app plays back clips with sound
      Test: YouTube in Chrome plays back clips with sound
      Bug: 34170079
      Change-Id: Id00bba6fde83e7cf04fb58bc1c353c2f66333f92
      7cda44f4
    • Alex Klyubin's avatar
      Vendor domains must not use Binder · f5446eb1
      Alex Klyubin authored
      On PRODUCT_FULL_TREBLE devices, non-vendor domains (except vendor
      apps) are not permitted to use Binder. This commit thus:
      * groups non-vendor domains using the new "coredomain" attribute,
      * adds neverallow rules restricting Binder use to coredomain and
        appdomain only, and
      * temporarily exempts the domains which are currently violating this
        rule from this restriction. These domains are grouped using the new
        "binder_in_vendor_violators" attribute. The attribute is needed
        because the types corresponding to violators are not exposed to the
        public policy where the neverallow rules are.
      
      Test: mmm system/sepolicy
      Test: Device boots, no new denials
      Test: In Chrome, navigate to ip6.me, play a YouTube video
      Test: YouTube: play a video
      Test: Netflix: play a movie
      Test: Google Camera: take a photo, take an HDR+ photo, record video with
            sound, record slow motion video with sound. Confirm videos play
            back fine and with sound.
      Bug: 35870313
      Change-Id: I0cd1a80b60bcbde358ce0f7a47b90f4435a45c95
      f5446eb1
  12. Mar 23, 2017
    • Steven Moreland's avatar
      Allow bugreport to dump some HAL processes. · f20b04ef
      Steven Moreland authored
      Whitelist several hals which can be dumped by bugreports. Don't want to
      dump more because of the time it takes and also certain hals have
      sensitive data which shouldn't be dumped (i.e. keymaster).
      
      Test: dumps work for given hals
      Bug: 36414311
      Change-Id: Ic0eddfa95fa33abbc983d3b5161e42c240663f22
      f20b04ef
    • Alex Deymo's avatar
      Allow update_engine to kill postinstall process. · b74017d3
      Alex Deymo authored
      This fixes the following denial in O:
      
       update_engine: type=1400 audit(0.0:2100): avc: denied { sigkill } for scontext=u:r:update_engine:s0 tcontext=u:r:postinstall:s0 tclass=process permissive=0
      
      Bug: 35111618
      Test: update_engine_client --cancel during postinstall
      Change-Id: I7456a95b5ca6fbdb268a5e16a13e2409758141f5
      b74017d3
    • Steven Moreland's avatar
      Allow hals to read hwservicemanager prop. · d3ce5dc3
      Steven Moreland authored
      Test: no relevant denials on marlin while booting
      Test: no relevant denials on angler while booting
      Bug: 36278706
      Change-Id: Ieba79e1c8fca4f74c63bc63e6dd0bdcf59204ca2
      d3ce5dc3
Loading