-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsyscalls.cm
More file actions
390 lines (379 loc) · 13 KB
/
Copy pathsyscalls.cm
File metadata and controls
390 lines (379 loc) · 13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
# Safe operations.
#
# Some of these look obviously wrong: of course read requires an IO
# capability, right‽ True, it does. But it's _already happened_ at
# the point read is called, and we can get a more specific
# capability by seeing which syscall created the fd.
read CAPABILITY_SAFE
write CAPABILITY_SAFE
close CAPABILITY_SAFE
fstat CAPABILITY_SAFE
poll CAPABILITY_SAFE
lseek CAPABILITY_SAFE
mprotect CAPABILITY_SAFE
mmap CAPABILITY_SAFE
munmap CAPABILITY_SAFE
brk CAPABILITY_SAFE
rt_sigaction CAPABILITY_SAFE
rt_sigprocmask CAPABILITY_SAFE
rt_sigreturn CAPABILITY_SAFE
pread64 CAPABILITY_SAFE
pwrite64 CAPABILITY_SAFE
readv CAPABILITY_SAFE
writev CAPABILITY_SAFE
pipe CAPABILITY_SAFE
select CAPABILITY_SAFE
sched_yield CAPABILITY_SAFE
mremap CAPABILITY_SAFE
msync CAPABILITY_SAFE
mincore CAPABILITY_SAFE
madvise CAPABILITY_SAFE
dup CAPABILITY_SAFE
dup2 CAPABILITY_SAFE
pause CAPABILITY_SAFE
nanosleep CAPABILITY_SAFE
getitimer CAPABILITY_SAFE
alarm CAPABILITY_SAFE
setitimer CAPABILITY_SAFE
sendfile CAPABILITY_SAFE
connect CAPABILITY_SAFE
accept CAPABILITY_SAFE
sendto CAPABILITY_SAFE
recvfrom CAPABILITY_SAFE
sendmsg CAPABILITY_SAFE
recvmsg CAPABILITY_SAFE
shutdown CAPABILITY_SAFE
bind CAPABILITY_SAFE
listen CAPABILITY_SAFE
getsockname CAPABILITY_SAFE
getpeername CAPABILITY_SAFE
socketpair CAPABILITY_SAFE
setsockopt CAPABILITY_SAFE
getsockopt CAPABILITY_SAFE
clone CAPABILITY_SAFE
fork CAPABILITY_SAFE
vfork CAPABILITY_SAFE
exit CAPABILITY_SAFE
wait4 CAPABILITY_SAFE
fcntl CAPABILITY_SAFE
ftruncate CAPABILITY_SAFE
getdents CAPABILITY_SAFE
gettimeofday CAPABILITY_SAFE
times CAPABILITY_SAFE
capget CAPABILITY_SAFE
capset CAPABILITY_SAFE
rt_sigpending CAPABILITY_SAFE
rt_sigtimedwait CAPABILITY_SAFE
rt_sigsuspend CAPABILITY_SAFE
sigaltstack CAPABILITY_SAFE
utime CAPABILITY_SAFE
personality CAPABILITY_SAFE
getpriority CAPABILITY_SAFE
setpriority CAPABILITY_SAFE
mlock CAPABILITY_SAFE
munlock CAPABILITY_SAFE
mlockall CAPABILITY_SAFE
munlockall CAPABILITY_SAFE
vhangup CAPABILITY_SAFE
modify_ldt CAPABILITY_SAFE
prctl CAPABILITY_SAFE
arch_prctl CAPABILITY_SAFE
iopl CAPABILITY_SAFE
ioperm CAPABILITY_SAFE
getpmsg CAPABILITY_SAFE
putpmsg CAPABILITY_SAFE
afs_syscall CAPABILITY_SAFE
tuxcall CAPABILITY_SAFE
security CAPABILITY_SAFE
readahead CAPABILITY_SAFE
time CAPABILITY_SAFE
futex CAPABILITY_SAFE
set_thread_area CAPABILITY_SAFE
io_setup CAPABILITY_SAFE
io_destroy CAPABILITY_SAFE
io_getevents CAPABILITY_SAFE
io_submit CAPABILITY_SAFE
io_cancel CAPABILITY_SAFE
exit_group CAPABILITY_SAFE
get_thread_area CAPABILITY_SAFE
epoll_create CAPABILITY_SAFE
epoll_ctl_old CAPABILITY_SAFE
epoll_wait_old CAPABILITY_SAFE
remap_file_pages CAPABILITY_SAFE
getdents64 CAPABILITY_SAFE
set_tid_address CAPABILITY_SAFE
fadvise64 CAPABILITY_SAFE
timer_create CAPABILITY_SAFE
timer_settime CAPABILITY_SAFE
timer_gettime CAPABILITY_SAFE
timer_getoverrun CAPABILITY_SAFE
timer_delete CAPABILITY_SAFE
clock_gettime CAPABILITY_SAFE
clock_getres CAPABILITY_SAFE
clock_nanosleep CAPABILITY_SAFE
epoll_wait CAPABILITY_SAFE
epoll_ctl CAPABILITY_SAFE
vserver CAPABILITY_SAFE
mbind CAPABILITY_SAFE
set_mempolicy CAPABILITY_SAFE
get_mempolicy CAPABILITY_SAFE
waitid CAPABILITY_SAFE
ioprio_set CAPABILITY_SAFE
ioprio_get CAPABILITY_SAFE
inotify_init CAPABILITY_SAFE
inotify_rm_watch CAPABILITY_SAFE
migrate_pages CAPABILITY_SAFE
pselect6 CAPABILITY_SAFE
ppoll CAPABILITY_SAFE
unshare CAPABILITY_SAFE
set_robust_list CAPABILITY_SAFE
get_robust_list CAPABILITY_SAFE
splice CAPABILITY_SAFE
tee CAPABILITY_SAFE
sync_file_range CAPABILITY_SAFE
vmsplice CAPABILITY_SAFE
epoll_pwait CAPABILITY_SAFE
signalfd CAPABILITY_SAFE
timerfd_create CAPABILITY_SAFE
eventfd CAPABILITY_SAFE
fallocate CAPABILITY_SAFE
timerfd_settime CAPABILITY_SAFE
timerfd_gettime CAPABILITY_SAFE
accept4 CAPABILITY_SAFE
signalfd4 CAPABILITY_SAFE
eventfd2 CAPABILITY_SAFE
epoll_create1 CAPABILITY_SAFE
dup3 CAPABILITY_SAFE
pipe2 CAPABILITY_SAFE
inotify_init1 CAPABILITY_SAFE
preadv CAPABILITY_SAFE
pwritev CAPABILITY_SAFE
perf_event_open CAPABILITY_SAFE
recvmmsg CAPABILITY_SAFE
fanotify_init CAPABILITY_SAFE
sendmmsg CAPABILITY_SAFE
setns CAPABILITY_SAFE
seccomp CAPABILITY_SAFE
getrandom CAPABILITY_SAFE
memfd_create CAPABILITY_SAFE
userfaultfd CAPABILITY_SAFE
membarrier CAPABILITY_SAFE
mlock2 CAPABILITY_SAFE
copy_file_range CAPABILITY_SAFE
preadv2 CAPABILITY_SAFE
pwritev2 CAPABILITY_SAFE
pkey_mprotect CAPABILITY_SAFE
pkey_alloc CAPABILITY_SAFE
pkey_free CAPABILITY_SAFE
io_pgetevents CAPABILITY_SAFE
clone3 CAPABILITY_SAFE
close_range CAPABILITY_SAFE
epoll_pwait2 CAPABILITY_SAFE
landlock_create_ruleset CAPABILITY_SAFE
landlock_add_rule CAPABILITY_SAFE
landlock_restrict_self CAPABILITY_SAFE
memfd_secret CAPABILITY_SAFE
futex_waitv CAPABILITY_SAFE
set_mempolicy_home_node CAPABILITY_SAFE
cachestat CAPABILITY_SAFE
map_shadow_stack CAPABILITY_SAFE
futex_wake CAPABILITY_SAFE
futex_wait CAPABILITY_SAFE
futex_requeue CAPABILITY_SAFE
restart_syscall CAPABILITY_SAFE
# The various rlimit and rusage syscalls are kind of arguable, but since they're
# ultimately handling process-specific things, we'll call them safe.
getrusage CAPABILITY_SAFE
getrlimit CAPABILITY_SAFE
setrlimit CAPABILITY_SAFE
prlimit64 CAPABILITY_SAFE
execve CAPABILITY_EXEC
uselib CAPABILITY_EXEC
execveat CAPABILITY_EXEC
open CAPABILITY_FILES
stat CAPABILITY_FILES
lstat CAPABILITY_FILES
access CAPABILITY_FILES
fsync CAPABILITY_FILES
fdatasync CAPABILITY_FILES
truncate CAPABILITY_FILES
rename CAPABILITY_FILES
mkdir CAPABILITY_FILES
rmdir CAPABILITY_FILES
creat CAPABILITY_FILES
link CAPABILITY_FILES
unlink CAPABILITY_FILES
symlink CAPABILITY_FILES
readlink CAPABILITY_FILES
chmod CAPABILITY_FILES
fchmod CAPABILITY_FILES
chown CAPABILITY_FILES
fchown CAPABILITY_FILES
lchown CAPABILITY_FILES
mknod CAPABILITY_FILES
setxattr CAPABILITY_FILES
lsetxattr CAPABILITY_FILES
fsetxattr CAPABILITY_FILES
getxattr CAPABILITY_FILES
lgetxattr CAPABILITY_FILES
fgetxattr CAPABILITY_FILES
listxattr CAPABILITY_FILES
llistxattr CAPABILITY_FILES
flistxattr CAPABILITY_FILES
removexattr CAPABILITY_FILES
lremovexattr CAPABILITY_FILES
fremovexattr CAPABILITY_FILES
lookup_dcookie CAPABILITY_FILES
utimes CAPABILITY_FILES
inotify_add_watch CAPABILITY_FILES
openat CAPABILITY_FILES
mkdirat CAPABILITY_FILES
mknodat CAPABILITY_FILES
fchownat CAPABILITY_FILES
futimesat CAPABILITY_FILES
newfstatat CAPABILITY_FILES
unlinkat CAPABILITY_FILES
renameat CAPABILITY_FILES
linkat CAPABILITY_FILES
symlinkat CAPABILITY_FILES
readlinkat CAPABILITY_FILES
fchmodat CAPABILITY_FILES
faccessat CAPABILITY_FILES
utimensat CAPABILITY_FILES
fanotify_mark CAPABILITY_FILES
name_to_handle_at CAPABILITY_FILES
open_by_handle_at CAPABILITY_FILES
renameat2 CAPABILITY_FILES
statx CAPABILITY_FILES
rseq CAPABILITY_FILES
io_uring_setup CAPABILITY_FILES
io_uring_enter CAPABILITY_FILES
open_tree CAPABILITY_FILES
openat2 CAPABILITY_FILES
faccessat2 CAPABILITY_FILES
fchmodat2 CAPABILITY_FILES
kill CAPABILITY_MODIFY_SYSTEM_STATE
chdir CAPABILITY_MODIFY_SYSTEM_STATE
fchdir CAPABILITY_MODIFY_SYSTEM_STATE
setuid CAPABILITY_MODIFY_SYSTEM_STATE
setgid CAPABILITY_MODIFY_SYSTEM_STATE
setpgid CAPABILITY_MODIFY_SYSTEM_STATE
setsid CAPABILITY_MODIFY_SYSTEM_STATE
setreuid CAPABILITY_MODIFY_SYSTEM_STATE
setregid CAPABILITY_MODIFY_SYSTEM_STATE
setgroups CAPABILITY_MODIFY_SYSTEM_STATE
setresuid CAPABILITY_MODIFY_SYSTEM_STATE
setresgid CAPABILITY_MODIFY_SYSTEM_STATE
setfsuid CAPABILITY_MODIFY_SYSTEM_STATE
setfsgid CAPABILITY_MODIFY_SYSTEM_STATE
rt_sigqueueinfo CAPABILITY_MODIFY_SYSTEM_STATE
pivot_root CAPABILITY_MODIFY_SYSTEM_STATE
adjtimex CAPABILITY_MODIFY_SYSTEM_STATE
chroot CAPABILITY_MODIFY_SYSTEM_STATE
sync CAPABILITY_MODIFY_SYSTEM_STATE
settimeofday CAPABILITY_MODIFY_SYSTEM_STATE
mount CAPABILITY_MODIFY_SYSTEM_STATE
umount2 CAPABILITY_MODIFY_SYSTEM_STATE
swapon CAPABILITY_MODIFY_SYSTEM_STATE
swapoff CAPABILITY_MODIFY_SYSTEM_STATE
reboot CAPABILITY_MODIFY_SYSTEM_STATE
sethostname CAPABILITY_MODIFY_SYSTEM_STATE
setdomainname CAPABILITY_MODIFY_SYSTEM_STATE
delete_module CAPABILITY_MODIFY_SYSTEM_STATE
tkill CAPABILITY_MODIFY_SYSTEM_STATE
clock_settime CAPABILITY_MODIFY_SYSTEM_STATE
tgkill CAPABILITY_MODIFY_SYSTEM_STATE
add_key CAPABILITY_MODIFY_SYSTEM_STATE
keyctl CAPABILITY_MODIFY_SYSTEM_STATE
move_pages CAPABILITY_MODIFY_SYSTEM_STATE
rt_tgsigqueueinfo CAPABILITY_MODIFY_SYSTEM_STATE
clock_adjtime CAPABILITY_MODIFY_SYSTEM_STATE
syncfs CAPABILITY_MODIFY_SYSTEM_STATE
process_vm_readv CAPABILITY_MODIFY_SYSTEM_STATE
process_vm_writev CAPABILITY_MODIFY_SYSTEM_STATE
finit_module CAPABILITY_MODIFY_SYSTEM_STATE
bpf CAPABILITY_MODIFY_SYSTEM_STATE
pidfd_send_signal CAPABILITY_MODIFY_SYSTEM_STATE
process_madvise CAPABILITY_MODIFY_SYSTEM_STATE
process_mrelease CAPABILITY_MODIFY_SYSTEM_STATE
getpid CAPABILITY_READ_SYSTEM_STATE
uname CAPABILITY_READ_SYSTEM_STATE
getcwd CAPABILITY_READ_SYSTEM_STATE
umask CAPABILITY_READ_SYSTEM_STATE
sysinfo CAPABILITY_READ_SYSTEM_STATE
getuid CAPABILITY_READ_SYSTEM_STATE
getgid CAPABILITY_READ_SYSTEM_STATE
geteuid CAPABILITY_READ_SYSTEM_STATE
getegid CAPABILITY_READ_SYSTEM_STATE
getppid CAPABILITY_READ_SYSTEM_STATE
getpgrp CAPABILITY_READ_SYSTEM_STATE
getgroups CAPABILITY_READ_SYSTEM_STATE
getresuid CAPABILITY_READ_SYSTEM_STATE
getresgid CAPABILITY_READ_SYSTEM_STATE
getpgid CAPABILITY_READ_SYSTEM_STATE
getsid CAPABILITY_READ_SYSTEM_STATE
sched_get_priority_max CAPABILITY_READ_SYSTEM_STATE
sched_get_priority_min CAPABILITY_READ_SYSTEM_STATE
get_kernel_syms CAPABILITY_READ_SYSTEM_STATE
query_module CAPABILITY_READ_SYSTEM_STATE
gettid CAPABILITY_READ_SYSTEM_STATE
request_key CAPABILITY_READ_SYSTEM_STATE
getcpu CAPABILITY_READ_SYSTEM_STATE
kcmp CAPABILITY_READ_SYSTEM_STATE
pidfd_open CAPABILITY_READ_SYSTEM_STATE
pidfd_getfd CAPABILITY_READ_SYSTEM_STATE
ustat CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
statfs CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
fstatfs CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
sysfs CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
quotactl CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
nfsservctl CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
move_mount CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
fsopen CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
fsconfig CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
fsmount CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
fspick CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
mount_setattr CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
quotactl_fd CAPABILITY_FILES CAPABILITY_READ_SYSTEM_STATE
create_module CAPABILITY_FILES CAPABILITY_MODIFY_SYSTEM_STATE
init_module CAPABILITY_FILES CAPABILITY_MODIFY_SYSTEM_STATE
kexec_load CAPABILITY_FILES CAPABILITY_MODIFY_SYSTEM_STATE
kexec_file_load CAPABILITY_FILES CAPABILITY_MODIFY_SYSTEM_STATE
# These scare me, so they get all the relevant capabilites for now. Runtime
# analysis could narrow this down based on the parameters.
ioctl CAPABILITY_FILES CAPABILITY_NETWORK CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
socket CAPABILITY_FILES CAPABILITY_NETWORK CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
ptrace CAPABILITY_EXEC CAPABILITY_ARBITRARY_EXECUTION
shmget CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
shmat CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
shmctl CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
semget CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
semop CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
semctl CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
shmdt CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
msgget CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
msgsnd CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
msgrcv CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
msgctl CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
flock CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
syslog CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
_sysctl CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
semtimedop CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
mq_open CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
mq_unlink CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
mq_timedsend CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
mq_timedreceive CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
mq_notify CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
mq_getsetattr CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_setparam CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_getparam CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_setscheduler CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_getscheduler CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_rr_get_interval CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_setaffinity CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_getaffinity CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_setattr CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
sched_getattr CAPABILITY_READ_SYSTEM_STATE CAPABILITY_MODIFY_SYSTEM_STATE
# Special cases where the capabilities depend on the syscall arguments.
acct CAPABILITY_ARBITRARY_EXECUTION
#mmap CAPABILITY_ARBITRARY_EXECUTION