@@ -290,7 +290,7 @@ class _SockFprog(ctypes.Structure):
290290 # --- Resource info ---
291291 "getrlimit" , "setrlimit" , "prlimit64" ,
292292 "getrusage" , "times" , "sysinfo" , "uname" ,
293- # --- ioctl (arg-filtered for TIOCSTI) ---
293+ # --- ioctl (arg-filtered for TIOCSTI, TIOCLINUX ) ---
294294 "ioctl" ,
295295 # --- Misc ---
296296 "getrandom" ,
@@ -311,7 +311,7 @@ def _build_arg_filters() -> bytes:
311311 clone is in the notif list, or ALLOW if not).
312312 - ioctl(2): Block TIOCSTI and TIOCLINUX (terminal attacks).
313313 - prctl(2): Block dangerous options (PR_SET_DUMPABLE,
314- PR_SET_SECCOMP, PR_SET_SECUREBITS, PR_SET_PTRACER).
314+ PR_SET_SECUREBITS, PR_SET_PTRACER).
315315 """
316316 insns = bytearray ()
317317
@@ -377,7 +377,7 @@ def _build_deny_filter(deny_nrs: list[int]) -> bytes:
377377
378378 Filter logic:
379379 1. Check arch (kill process if wrong)
380- 2. Arg-level filters (clone NS flags, ioctl TIOCSTI )
380+ 2. Arg-level filters (clone NS flags, ioctl, prctl, socket )
381381 3. For each denied syscall: if nr == denied → ERRNO(EPERM)
382382 4. Default: ALLOW
383383 """
@@ -403,7 +403,7 @@ def _build_allow_filter(allow_nrs: list[int]) -> bytes:
403403
404404 Filter logic:
405405 1. Check arch (kill process if wrong)
406- 2. Arg-level filters (clone NS flags, ioctl TIOCSTI )
406+ 2. Arg-level filters (clone NS flags, ioctl, prctl, socket )
407407 3. For each allowed syscall: if nr == allowed → ALLOW
408408 4. Default: ERRNO(EPERM)
409409 """
0 commit comments