Skip to content
Snippets Groups Projects
Commit cbaa2b7d authored by Jeff Vander Stoep's avatar Jeff Vander Stoep
Browse files

Reduce socket ioctl perms

Reduce the socket ioctl commands available to untrusted/isolated apps.
Neverallow accessing sensitive information or setting of network parameters.
Neverallow access to device private ioctls i.e. device specific
customizations as these are a common source of driver bugs.

Define common ioctl commands in ioctl_defines.

Bug: 26267358
Change-Id: Ic5c0af066e26d4cb2867568f53a3e65c5e3b5a5d
parent e02e6c03
No related branches found
No related tags found
No related merge requests found
...@@ -40,6 +40,7 @@ sepolicy_build_files := security_classes \ ...@@ -40,6 +40,7 @@ sepolicy_build_files := security_classes \
policy_capabilities \ policy_capabilities \
te_macros \ te_macros \
attributes \ attributes \
ioctl_defines \
ioctl_macros \ ioctl_macros \
*.te \ *.te \
roles \ roles \
......
This diff is collapsed.
# socket ioctls allowed to unprivileged apps # socket ioctls allowed to unprivileged apps
define(`unpriv_sock_ioctls', ` define(`unpriv_sock_ioctls', `
{ {
# all socket ioctls except the Mac address SIOCGIFHWADDR 0x8927 # Socket ioctls for gathering information about the interface
0x8900-0x8926 0x8928-0x89ff SIOCGIFNAME SIOCGIFCONF SIOCGIFFLAGS SIOCGIFADDR SIOCGIFBRDADDR
# all wireless extensions ioctls except get/set essid SIOCGIFNETMASK SIOCGIFMTU SIOCGIFCOUNT SIOCGIFTXQLEN
# IOCSIWESSID 0x8B1A SIOCGIWESSID 0x8B1B # Wireless extension ioctls. Primarily get functions.
0x8B00-0x8B19 0x8B1C-0x8BFF SIOCGIWNAME SIOCGIWFREQ SIOCGIWMODE SIOCGIWSENS SIOCGIWRANGE SIOCGIWPRIV
SIOCGIWSTATS SIOCGIWSPY SIOCSIWTHRSPY SIOCGIWTHRSPY SIOCGIWRATE SIOCGIWRTS
SIOCGIWFRAG SIOCGIWTXPOW SIOCGIWRETRY SIOCGIWPOWER
# commonly used TTY ioctls # commonly used TTY ioctls
0x5411 0x5451 TIOCOUTQ FIOCLEX
}') }')
# socket ioctls never allowed to unprivileged appss # socket ioctls never allowed to unprivileged apps
define(`priv_sock_ioctls', ` define(`priv_sock_ioctls', `
{ {
# Mac address SIOCGIFHWADDR # socket ioctls
0x8927 SIOCADDRT SIOCDELRT SIOCRTMSG SIOCSIFLINK SIOCSIFFLAGS SIOCSIFADDR SIOCGIFDSTADDR
# get/set essid IOCSIWESSID 0x8B1A SIOCGIWESSID 0x8B1B SIOCSIFDSTADDR SIOCSIFBRDADDR SIOCSIFNETMASK SIOCGIFMETRIC SIOCSIFMETRIC SIOCGIFMEM
0x8B1A-0x8B1B SIOCSIFMEM SIOCSIFMTU SIOCSIFNAME SIOCSIFHWADDR SIOCGIFENCAP SIOCSIFENCAP
SIOCGIFHWADDR SIOCGIFSLAVE SIOCSIFSLAVE SIOCADDMULTI SIOCDELMULTI SIOCGIFINDEX
SIOCSIFPFLAGS SIOCGIFPFLAGS SIOCDIFADDR SIOCSIFHWBROADCAST SIOCGIFBR SIOCSIFBR
SIOCSIFTXQLEN SIOCETHTOOL SIOCGMIIPHY SIOCGMIIREG SIOCSMIIREG SIOCWANDEV
SIOCOUTQNSD SIOCDARP SIOCGARP SIOCSARP SIOCDRARP SIOCGRARP SIOCSRARP SIOCGIFMAP
SIOCSIFMAP SIOCADDDLCI SIOCDELDLCI SIOCGIFVLAN SIOCSIFVLAN SIOCBONDENSLAVE
SIOCBONDRELEASE SIOCBONDSETHWADDR SIOCBONDSLAVEINFOQUERY SIOCBONDINFOQUERY
SIOCBONDCHANGEACTIVE SIOCBRADDBR SIOCBRDELBR SIOCBRADDIF SIOCBRDELIF SIOCSHWTSTAMP
# device and protocol specific ioctls
SIOCDEVPRIVATE-SIOCDEVPRIVLAST
SIOCPROTOPRIVATE-SIOCPROTOPRIVLAST
# Wireless extension ioctls
SIOCSIWCOMMIT SIOCSIWNWID SIOCSIWFREQ SIOCSIWMODE SIOCSIWSENS SIOCSIWRANGE
SIOCSIWPRIV SIOCSIWSTATS SIOCSIWSPY SIOCSIWAP SIOCGIWAP SIOCSIWMLME SIOCGIWAPLIST
SIOCSIWSCAN SIOCGIWSCAN SIOCSIWESSID SIOCGIWESSID SIOCSIWNICKN SIOCGIWNICKN
SIOCSIWRATE SIOCSIWRTS SIOCSIWFRAG SIOCSIWTXPOW SIOCSIWRETRY SIOCSIWENCODE
SIOCGIWENCODE SIOCSIWPOWER SIOCSIWGENIE SIOCGIWGENIE SIOCSIWAUTH SIOCGIWAUTH
SIOCSIWENCODEEXT SIOCGIWENCODEEXT SIOCSIWPMKSA
# Dev private ioctl i.e. hardware specific ioctls
SIOCIWFIRSTPRIV-SIOCIWLASTPRIV
}') }')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment