Skip to content
Snippets Groups Projects
  1. Jan 02, 2014
    • Stephen Smalley's avatar
      Allow use of art as the Android runtime. · 527316a2
      Stephen Smalley authored
      
      system_server and app domains need to map dalvik-cache files with PROT_EXEC.
      
      type=1400 msg=audit(13574814.073:132): avc: denied { execute } for pid=589 comm="system_server" path="/data/dalvik-cache/system@priv-app@SettingsProvider.apk@classes.dex" dev="mmcblk0p30" ino=684132 scontext=u:r:system_server:s0 tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file
      
      Apps need to map cached dex files with PROT_EXEC.  We already allow this
      for untrusted_app to support packaging of shared objects as assets
      but not for the platform app domains.
      
      type=1400 audit(1387810571.697:14): avc:  denied  { execute } for  pid=7822 comm="android.youtube" path="/data/data/com.google.android.youtube/cache/ads1747714305.dex" dev="mmcblk0p30" ino=603259 scontext=u:r:platform_app:s0 tcontext=u:object_r:platform_app_data_file:s0 tclass=file
      
      Change-Id: I309907d591ea6044e3e6aeb57bde7508e426c033
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      527316a2
    • Nick Kralevich's avatar
  2. Dec 24, 2013
  3. Dec 20, 2013
    • Stephen Smalley's avatar
      Delete dalvikcache_data_file write/setattr access from shell. · c17d30a5
      Stephen Smalley authored
      
      This showed up at some point in the past during our own
      internal CTS testing but it seems wrong based on the DAC
      permissions and a potential way to inject code into apps
      from the shell.  Drop it for now and see if it shows up again.
      This predates userdebug/eng vs user shell split so possibly
      it only happens in the userdebug/eng case.
      
      Change-Id: If8b1e7817f8efecbf68a0ba5fd06328a23a6c6db
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      c17d30a5
    • Nick Kralevich's avatar
    • Nick Kralevich's avatar
      Merge "vold: allow wakelocks, fsck logs" · fe907e57
      Nick Kralevich authored
      fe907e57
    • Nick Kralevich's avatar
      Merge "Allow dumpsys" · 9969a4d2
      Nick Kralevich authored
      9969a4d2
    • Nick Kralevich's avatar
      shell: allow setting debug_prop and powerctl_prop · 20a791a4
      Nick Kralevich authored
      Allow the shell user to set debug.* properties.
      This allows systrace to work on Android.
      
      Allow the shell user to set sys.powerctl, to allow reboots
      to work.
      
      Addresses the following denials:
      
      <4>[ 2141.449722] avc:  denied  { set } for property=debug.atrace.tags.enableflags scontext=u:r:shell:s0 tcontext=u:object_r:debug_prop:s0 tclass=property_service
      <4>[ 2141.450820] avc:  denied  { set } for property=debug.atrace.app_cmdlines scontext=u:r:shell:s0 tcontext=u:object_r:debug_prop:s0 tclass=property_service
      <4>[ 2141.506703] avc:  denied  { set } for property=debug.atrace.tags.enableflags scontext=u:r:shell:s0 tcontext=u:object_r:debug_prop:s0 tclass=property_service
      <4>[ 2141.507591] avc:  denied  { set } for property=debug.atrace.app_cmdlines scontext=u:r:shell:s0 tcontext=u:object_r:debug_prop:s0 tclass=property_service
      
      Bug: 12231073
      Change-Id: Iaba1db06ba287c7d5d10ce287833c57238e03bb6
      20a791a4
    • Nick Kralevich's avatar
      Merge "Allow dumpstate to use ping." · a2c4cb3c
      Nick Kralevich authored
      a2c4cb3c
    • Nick Kralevich's avatar
      Allow dumpsys · 51538900
      Nick Kralevich authored
      Allow adb shell to run dumpsys.
      
      Addresses the following denials:
      
      23.720402   type=1400 audit(1387473582.512:12): avc:  denied  { read write } for  pid=1469 comm="dumpsys" path="/dev/pts/0" dev="devpts" ino=3 scontext=u:r:system_server:s0 tcontext=u:object_r:devpts:s0 tclass=chr_file
      23.862719   type=1400 audit(1387473582.652:13): avc:  denied  { getattr } for  pid=696 comm="Binder_3" path="/dev/pts/0" dev="devpts" ino=3 scontext=u:r:system_server:s0 tcontext=u:object_r:devpts:s0 tclass=chr_file
      
      Change-Id: I6c56f9267d769d579514dca3cfde8d5a99170456
      51538900
  4. Dec 19, 2013
    • Nick Kralevich's avatar
      vold: allow wakelocks, fsck logs · 3753c816
      Nick Kralevich authored
      When encrypting a device, vold tries to acquire a wake lock,
      to prevent the device from sleeping. Add an allow rule.
      
      After booting with a freshly encrypted device, fsck logs data to
      /dev/fscklogs/log . Add an allow rule.
      
      Addresses the following denials.
      
      wake lock:
      
      <5>[  372.401015] type=1400 audit(1387488823.195:6): avc:  denied  { read write } for  pid=143 comm="vold" name="wake_lock" dev="sysfs" ino=69 scontext=u:r:vold:s0 tcontext=u:object_r:sysfs_wake_lock:s0 tclass=file
      <5>[  127.274556] type=1400 audit(1387494536.080:8): avc:  denied  { open } for  pid=140 comm="vold" name="wake_lock" dev="sysfs" ino=69 scontext=u:r:vold:s0 tcontext=u:object_r:sysfs_wake_lock:s0 tclass=file
      
      fsck logging:
      
      <5>[   44.759122] type=1400 audit(1387489522.460:6): avc:  denied  { search } for  pid=132 comm="vold" name="fscklogs" dev="tmpfs" ino=3216 scontext=u:r:vold:s0 tcontext=u:object_r:fscklogs:s0 tclass=dir
      <5>[   28.559964] type=1400 audit(1387495221.265:6): avc:  denied  { write } for  pid=132 comm="vold" name="fscklogs" dev="tmpfs" ino=3216 scontext=u:r:vold:s0 tcontext=u:object_r:fscklogs:s0 tclass=dir
      <5>[   28.560081] type=1400 audit(1387495221.265:7): avc:  denied  { add_name } for  pid=132 comm="vold" name="log" scontext=u:r:vold:s0 tcontext=u:object_r:fscklogs:s0 tclass=dir
      <5>[   28.560244] type=1400 audit(1387495221.265:8): avc:  denied  { create } for  pid=132 comm="vold" name="log" scontext=u:r:vold:s0 tcontext=u:object_r:fscklogs:s0 tclass=file
      <5>[   28.560383] type=1400 audit(1387495221.265:9): avc:  denied  { write open } for  pid=132 comm="vold" name="log" dev="tmpfs" ino=5898 scontext=u:r:vold:s0 tcontext=u:object_r:fscklogs:s0 tclass=file
      <5>[   28.582520] type=1400 audit(1387495221.285:10): avc:  denied  { getattr } for  pid=132 comm="vold" path="/dev/fscklogs/log" dev="tmpfs" ino=5898 scontext=u:r:vold:s0 tcontext=u:object_r:fscklogs:s0 tclass=file
      
      Change-Id: I09fbe73c9d4955578c16fece4f3b84269eed78b5
      3753c816
    • Nick Kralevich's avatar
      allow system_server block_suspend · 13e44ec7
      Nick Kralevich authored
      I'm only seeing this denial on one device (manta), but it feels like
      it should be part of the generic policy. I don't understand
      why it's happening on only one device.
      
      Addresses the following denial:
      
      14.711671   type=1400 audit(1387474628.570:6): avc:  denied  { block_suspend } for  pid=533 comm="InputReader" capability=36  scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=capability2
      
      Change-Id: If4b28b6f42ca92c0e2cacfad75c8cbe023b0fa47
      13e44ec7
    • Stephen Smalley's avatar
      Confine sdcardd, but leave it permissive for now. · 15abc950
      Stephen Smalley authored
      
      Change-Id: I1eba1535d650a09ee7640cb7f3664202be4a0a55
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      15abc950
    • Nick Kralevich's avatar
    • Takeshi Aimi's avatar
      Make bluetooth, nfc, radio and shell adb-installable · f5e90004
      Takeshi Aimi authored
      bluetooth, nfc, radio and shell are not explicitly declared
      in installd.te. This prevents applications in those group
      from upgrading by "adb install -r".
      
      You can reproduce the issue by following step:
       1. adb pull /system/priv-app/Shell.apk
       2. adb install -r Shell.apk
       3. install failed with the error log blow
      
      [Error in logcat]
      E/installd(  338): couldn't symlink directory '/data/data/com.android.shell/lib' -> '/data/app-lib/com.android.shell-1': Permission denied
      E/installd(  338): couldn't symlink directory '/data/data/com.android.shell/lib' -> '/data/app-lib/Shell': Permission denied
      
      [Error in dmesg]
      <5>[  112.053301] type=1400 audit(1387412796.071:10): avc:  denied  { create } for  pid=337 comm="installd" name="lib" scontext=u:r:installd:s0 tcontext=u:object_r:shell_data_file:s0 tclass=lnk_file
      
      This operation fails only if the app belongs to any of the
      groups specified in the commit title.
      
      Change-Id: I7572df9fb6e471fad34f61137f0eeeda4c82659d
      f5e90004
  5. Dec 18, 2013
    • Nick Kralevich's avatar
      Allow dumpstate to use ping. · f6bf7ef7
      Nick Kralevich authored
      Addreseses the following denials:
      
      <5>[  695.383994] type=1400 audit(1387403898.292:55): avc:  denied  { execute } for  pid=5187 comm="dumpstate" name="ping" dev="mmcblk0p25" ino=213 scontext=u:r:dumpstate:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      <5>[  695.384727] type=1400 audit(1387403898.292:56): avc:  denied  { read open } for  pid=5187 comm="dumpstate" name="ping" dev="mmcblk0p25" ino=213 scontext=u:r:dumpstate:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      <5>[  695.385418] type=1400 audit(1387403898.292:57): avc:  denied  { execute_no_trans } for  pid=5187 comm="dumpstate" path="/system/bin/ping" dev="mmcblk0p25" ino=213 scontext=u:r:dumpstate:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      <5>[  695.391978] type=1400 audit(1387403898.302:58): avc:  denied  { create } for  pid=5187 comm="ping" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=rawip_socket
      <5>[  695.393193] type=1400 audit(1387403898.302:59): avc:  denied  { setopt } for  pid=5187 comm="ping" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=rawip_socket
      <5>[  695.393753] type=1400 audit(1387403898.302:60): avc:  denied  { getopt } for  pid=5187 comm="ping" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=rawip_socket
      <5>[  695.394886] type=1400 audit(1387403898.302:61): avc:  denied  { write } for  pid=5187 comm="ping" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=rawip_socket
      <5>[  695.400693] type=1400 audit(1387403898.312:62): avc:  denied  { read } for  pid=5187 comm="ping" lport=4 scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=rawip_socket
      
      Change-Id: If9a790725ec0ba1ca6cb5c9a8ed85288580940e8
      f6bf7ef7
    • Nick Kralevich's avatar
      b63e485b
    • Stephen Smalley's avatar
      Confine shell domain in -user builds only. · 712ca0a4
      Stephen Smalley authored
      
      Confine the domain for an adb shell in -user builds only.
      The shell domain in non-user builds is left permissive.
      init_shell (shell spawned by init, e.g.  console service)
      remains unconfined by this change.
      Introduce a shelldomain attribute for rules common to all shell
      domains, assign it to the shell types, and add shelldomain.te for
      its rules.
      
      Change-Id: I01ee2c7ef80b61a9db151abe182ef9af7623c461
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      712ca0a4
    • Stephen Smalley's avatar
      Add rules to permit CTS security-related tests to run. · 59469370
      Stephen Smalley authored
      
      Change-Id: I184458af1f40de6f1ab99452e76ba586dad1319e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      59469370
  6. Dec 17, 2013
    • Nick Kralevich's avatar
    • Stephen Smalley's avatar
      Label /data/media with its own type and allow access. · e13fabd7
      Stephen Smalley authored
      
      /data/media presently is left in system_data_file, which requires
      anything that wants to write to it to be able to write to system_data_file.
      Introduce a new type for /data/media, media_rw_data_file (to match
      the media_rw UID assigned to it and distinguish it from /data/misc/media
      which has media UID and media_data_file type), and allow access to it.
      
      We allow this for all platform app domains as WRITE_MEDIA_STORAGE permission is granted
      to signature|system.  We should not have to allow it to untrusted_app.
      
      Set up type transitions in sdcardd to automatically label any directories
      or files it creates with the new type.
      
      Change-Id: I5c7e6245b854a9213099e40a41d9583755d37d42
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      e13fabd7
    • Nick Kralevich's avatar
      system_server.te: allow getopt/getattr on zygote socket · c4d7c0d7
      Nick Kralevich authored
      In 61dc3507, I forgot to allow
      system_server to run getopt/getattr on the zygote socket.
      
      Bug: 12061011
      Change-Id: I14f8fc98c1b08dfd3c2188d562e594547dba69e6
      c4d7c0d7
    • Nick Kralevich's avatar
      app.te: allow getopt/getattr on zygote socket · 61dc3507
      Nick Kralevich authored
      The closure of /dev/socket/zygote occurs in the zygote child
      process, after Zygote has dropped privileges and changed
      SELinux domains. In Google's internal tree, socket closures
      are following a different path, which is causing getopt/getattr
      to be used on the file descriptor. This is generating a large
      number of denials.
      
      Allow the operations for now. getopt/getattr are fairly harmless.
      Long term, we shouldn't be performing these operations on the
      zygote socket.
      
      Addresses the following denials:
      
      18.352783   type=1400 audit(1386374111.043:7): avc:  denied  { getattr } for  pid=682 comm="ndroid.systemui" path="socket:[9287]" dev="sockfs" ino=9287 scontext=u:r:platform_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      18.353088   type=1400 audit(1386374111.043:8): avc:  denied  { getopt } for  pid=682 comm="ndroid.systemui" path="/dev/socket/zygote" scontext=u:r:platform_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      18.833251   type=1400 audit(1386374111.524:9): avc:  denied  { getattr } for  pid=761 comm="d.process.acore" path="socket:[9287]" dev="sockfs" ino=9287 scontext=u:r:shared_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      18.833557   type=1400 audit(1386374111.524:10): avc:  denied  { getopt } for  pid=761 comm="d.process.acore" path="/dev/socket/zygote" scontext=u:r:shared_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      19.042419   type=1400 audit(1386374111.734:11): avc:  denied  { getattr } for  pid=806 comm="d.process.media" path="socket:[9287]" dev="sockfs" ino=9287 scontext=u:r:media_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      19.042724   type=1400 audit(1386374111.734:12): avc:  denied  { getopt } for  pid=806 comm="d.process.media" path="/dev/socket/zygote" scontext=u:r:media_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      19.182830   type=1400 audit(1386374111.874:14): avc:  denied  { getattr } for  pid=825 comm="putmethod.latin" path="socket:[9287]" dev="sockfs" ino=9287 scontext=u:r:untrusted_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      19.183105   type=1400 audit(1386374111.874:15): avc:  denied  { getopt } for  pid=825 comm="putmethod.latin" path="/dev/socket/zygote" scontext=u:r:untrusted_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      19.235473   type=1400 audit(1386374111.924:16): avc:  denied  { getattr } for  pid=840 comm="ndroid.settings" path="socket:[9287]" dev="sockfs" ino=9287 scontext=u:r:system_app:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      
      Bug: 12061011
      Change-Id: Ie1ec7636185aba7954656802e5eed735f49830c9
      61dc3507
  7. Dec 16, 2013
  8. Dec 15, 2013
  9. Dec 13, 2013
  10. Dec 12, 2013
  11. Dec 11, 2013
    • Nick Kralevich's avatar
      Allow apps to execute ping · cf6b350a
      Nick Kralevich authored
      Addresses the following denials:
      
      <5>[  170.166218] type=1400 audit(1386789488.029:57): avc:  denied  { getattr } for  pid=4352 comm="sh" path="/system/bin/ping" dev="mmcblk0p25" ino=182 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      <5>[  170.166356] type=1400 audit(1386789488.029:58): avc:  denied  { execute } for  pid=4352 comm="sh" name="ping" dev="mmcblk0p25" ino=182 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      <5>[  170.166841] type=1400 audit(1386789488.029:59): avc:  denied  { read open } for  pid=4389 comm="sh" name="ping" dev="mmcblk0p25" ino=182 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      <5>[  170.166962] type=1400 audit(1386789488.029:60): avc:  denied  { execute_no_trans } for  pid=4389 comm="sh" path="/system/bin/ping" dev="mmcblk0p25" ino=182 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:ping_exec:s0 tclass=file
      
      Change-Id: Ic175ef7392897a3941c36db67dfa59ded35204b5
      cf6b350a
    • Nick Kralevich's avatar
      Merge "Make ping enforcing." · ca9ba328
      Nick Kralevich authored
      ca9ba328
    • Nick Kralevich's avatar
      21a6a6b5
    • Nick Kralevich's avatar
      Merge "Make the runas domain enforcing." · b71be5cf
      Nick Kralevich authored
      b71be5cf
Loading