Messages in this thread | | | From | Kees Cook <> | Subject | [PATCH 0/2] tty: Allow TIOCSTI to be disabled | Date | Fri, 14 Oct 2022 21:16:22 -0700 |
| |
Hi,
This is so very long over-due. We just need to do this and put an end to this legacy operation.
Repeating the commit log from patch 2:
TIOCSTI continues its long history of being used in privilege escalation attacks[1]. Prior attempts to provide a mechanism to disable this have devolved into discussions around creating full-blown LSMs to provide arbitrary ioctl filtering, which is hugely over-engineered -- only TIOCSTI is being used this way. 3 years ago OpenBSD entirely removed TIOCSTI[2], Android has had it filtered for longer[3], and the tools that had historically used TIOCSTI either do not need it, are not commonly built with it, or have had its use removed.
Provide a simple CONFIG and global sysctl to disable this for the system builders who have wanted this functionality for literally decades now, much like the ldisc_autoload CONFIG and sysctl.
[1] https://lore.kernel.org/linux-hardening/Y0m9l52AKmw6Yxi1@hostpad [2] https://undeadly.org/cgi?action=article;sid=20170701132619 [3] https://lore.kernel.org/lkml/CAFJ0LnFGRuEEn1tCLhoki8ZyWrKfktbF+rwwN7WzyC_kBFoQVA@mail.gmail.com/
Thanks,
-Kees
Kees Cook (2): tty: Move sysctl setup into "core" tty logic tty: Allow TIOCSTI to be disabled
drivers/tty/Kconfig | 19 +++++++++++++++++ drivers/tty/tty.h | 2 +- drivers/tty/tty_io.c | 47 +++++++++++++++++++++++++++++++++++++++-- drivers/tty/tty_ldisc.c | 38 +-------------------------------- 4 files changed, 66 insertions(+), 40 deletions(-)
-- 2.34.1
| |